一、代码块
“{}”及其包围起来的代码称为代码块
等等,前面不是说这个叫做函数体吗?
没错,函数体也是代码块的一种。
C语言中的“XX体”都属于代码块。
二、变量的作用域
变量的作用域即一个变量起作用的范围。
在C语言中,一个变量的作用域默认为从它定义开始到当前代码块的结束。
看起来可能比较难理解,没关系,我们举几个例子。
-
下面的代码会报变量未定义的错误。
#include<stdio.h> void main() { { int a = 3; a = a + 1; } printf("%d", a); }
由于变量a的作用域为下图中的绿框所圈出的范围,而11行的printf明显不在这个范围内。
-
全局变量。
我们可以将主函数外的部分也看作一个无形代码块,在这个代码块中、主函数外的部分定义的变量称为全局变量,下图中变量a的作用域为绿框的范围。(绿框下面没有封口代表直到代码的结束)
-
下面的代码不会报错。
#include<stdio.h> void main() { { int a = 3; printf("%d\n", a); } { int a = 6; printf("%d\n", a); } }
但是,如果我们稍微改一下就不一样了。下面的代码会报“变量定义重复”的错误。
#include<stdio.h> void main() { int a = 3; printf("%d\n", a); int a = 6; printf("%d\n", a); }
好了,文章到这里就结束了,我们下一节再见
每周五晚20:00更新