时间:2021-11-14 10:25:03 | 栏目:C代码 | 点击:次
定义在代码块外部的是全局变量
定义在代码块内部的是局部变量
什么是代码块?
//这是代码快外部 int main() { //这是代码块内部 }
实际上用int main来演示是不太对的,实际使用的时候我们定义变量是在int main内部定义的
下面这个例子更加清晰明了
int main() { int i = 0;//这是代码块外部-i全局变量 for(i=0;i<10;i++) {//代码块开始 int j=0;//这是代码块内部-j局部变量 for(j=0;j<10;j++) }//代码块结束 }
需要注意的是:
同一个变量a可以在全局,局部变量中间同时使用,局部变量优先
这里是指同时存在,同时使用,但不能同时定义
在局部的代码块中重新定义一个全局变量是错误的
下面这种形式就是 同时使用一个变量
int main() { int sz = 8; int i = 0; if(i<sz) { i=1; } }
简单的说就是变量不要重复,也别和库函数冲突
变量的作用域->变量的生效区域
注:在VS中全局变量的作用域是整个工程
作用域的规定了变量生效区域
如果你在局部变量的代码块外部使用这个局部变量
这样是无效的,无法使用
在vs中全局变量的作用域是整个工程
但是如果源文件不同,我们需要打一串声明来应用工程文件中另外一个源文件的全局变量
extern int a
以下是声名变量和定义变量的代码示例
extern int a;//声明全局变量a int a; //定义全局变量a extern int a =0 ;//定义全局变量a 并给初始值 int a =0;//定义全局变量a,并给初始值
生命周期这个概念和作用域十分相似
局部变量又称自动变量
auto int a = 0;
实际使用的时候我们一般都是省略auto的