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); // 5 10

    }                                // 内杆范围的末端

    printf("%d %d\n", foo, bar);     // 5 5,这里的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范围的结尾

           

以上是 C语言区块范围 的全部内容, 来源链接: utcz.com/z/340657.html

回到顶部