C语言区块范围
示例
如果标识符的相应声明出现在块内(具有函数定义中的参数声明),则标识符具有块作用域。范围结束于相应块的末尾。
具有相同标识符的不同实体不能具有相同的范围,但是范围可以重叠。在范围重叠的情况下,唯一可见的范围是在最内部范围中声明的范围。
#include <stdio.h> void test(int bar) //条具有范围测试功能块 { int foo = 5; //foo具有范围测试功能块 { int bar = 10; //bar具有作用域内部块,与先前的test:bar声明重叠,并且隐藏了test:bar printf("%d %d\n", foo, bar); //510 } //内杆范围的末端 printf("%d %d\n", foo, bar); //55,这里的bar是test:bar } //test:foo和test:bar范围的结尾 int main(void) { int foo = 3; //foo具有作用域主要功能块 printf("%d\n", foo); //3 test(5); printf("%d\n", foo); //3 return 0; } //main:foo范围的结尾