标识符(identifier)的作用域和链接表明了程序的哪些部分可以使用它。
作用域有俩种:
- 文件作用域 file scope
- 块作用域 block scope
链接有三种
- 外部链接
- 内部链接
- 无连接
翻译单元:编译器源代码文件和所有的头文件都看成是一个包含信息的单独文件。
所以一个文件作用域的变量它的可见度是整个翻译单元。
块作用域的变量一般是有自动存储期,但是如果在块作用域中,变量的声明前加上了关键字static,那么这个变量会被存储在静态内存中,从程序的载入到结束都一直存在,只是这个变量的作用域还是块作用域,只有在块中用定义的变量名访问(标识符)。但是,也可以通过指针形参或者返回值进行访问。
网友评论