C/C++笔记
QQ : 1841545843
邮箱 : jiaxx903@163.com
- 编译器可以确认四钟不同类型的作用域——文件作用域, 函数作用域, 代码块作用域和原型作用域。
- 链接属性决定如何处理不同文件中出现的标识符,标识符的作用域与它的链接属性有关。
external – 外部 : 标识符不论声明多少次,位于几个源文件都表示同一个实体。
internal – 内部 : 标识符在同一个文件中的所有声明中都指向同一个实体。
none – 无 : 多个声明符被当做独立不同的个体。
- extern, static用于在声明中修改标识符的链接属性。
如果一个声明为 internal 在他的前边加上 static 关键字可以使它的链接属性变为 internal
.
static int c(int d); // 将默认为 external 的函数声明链接属性为 internal
static 只对缺省链接属性为 external 的声明才有改变其链接属性的效果。
extern 为一个标识符指定 external 链接属性。这样可以访问其他位置定义的这个实体。
int func()
{
extern int k; // 可以访问其他位置定义的这个是实体
}
- 第二次定义的链接属性,不会重置第一次定义的链接属性。