C语言变量的声明、定义、初始化与赋值详解

C语言变量的声明、定义、初始化与赋值详解

变量的声明、定义、初始化与赋值:

声明是使用一个变量所必需的,其作用是告诉编译器有该标识符的存在,变量的声明可以出现无数次,只要保证每次的声明内容不冲突即可。

定义是使用一个变量所必需的,其前提是该变量已经进行了声明,其作用是为变量开辟内存空间,局部变量只能进行一次定义。对于全局变量,由于全局变量在函数外只能进行至多一次的初始化,不能进行赋值,所以若变量出现多次定义且并不冲突则不会报错,并不会开辟新的内存空间。若变量出现多次定义且冲突,则会报错。

初始化是使用变量非必需的,且最多有一次,其前提是该变量已经进行了定义,其意义是开辟内存空间后的初始值。若在定义时未进行赋值则表示变量未进行初始化,如int a;;若在定义时进行了赋值,则表示变量进行了初始化,如int a=1; 。

赋值是指对已经定义的变量(未初始化或已经初始化)进行赋值,其前提是该变量已经进行了定义,如a=1;。

变量的声明、定义、初始化与赋值的具体实例:

/* 变量a的仅声明 */

extern int a;

/* 变量a的声明和定义 */

int a;

/* 变量a的声明、定义和初始化 */

int a = 1;

/*变量a赋值的几种情况*/

/* 情形1 */

extern int a; //仅声明a,用于表示a在其他地方已经进行了定义

a = 1; // 对a进行赋值

/* 情形2 */

extern int a; //仅声明a

int a; // 声明并定义a

a=1; // 对a进行赋值

/* 情形3 */

int a=0; //对a进行声明、定义与初始化

a=1 // 对a进行赋值

/* 情景4 */

extern int a=1; //若extern 作用的变量进行了初始化,则extern无效,此语句视为声明定义并初始化。此语句不允许在局部作用域内使用

/* 情形5 */

extern int a; // 仅声明a

int a=1; // 对a进行声明、定义与初始化。在全局作用域内:若a在其他地方已经进行了定义,则该语句会因为重定义报错(全局作用域除外);若a在此其他地方未进行定义,则该语句没有问题。在局部作用域内:表示a为全局作用域的变量,第二条会报重定义错误

相关推荐

365在线体育app下载 win7壁纸在哪个文件夹 win7壁纸文件夹在哪

win7壁纸在哪个文件夹 win7壁纸文件夹在哪

📅 07-05 👁️ 5278
sport365 VS Code Counter统计代码量(vscode扩展工具)

VS Code Counter统计代码量(vscode扩展工具)

📅 07-14 👁️ 5775
365在线体育app下载 电视剧《择天记》剧情简介

电视剧《择天记》剧情简介

📅 07-23 👁️ 4936