链接属性:当所有程序中所有的源文件被编译后,所有的目标文件与从函数库中引用的函数链接在一起成为可执行文件。然而,当相同的标识符出现在不同的源文件中,是表示一个实体,还是不同实体,这就取决于标识符在源文件中的链接属性。
外部链接:关键字 extern
标识符不管声明多少次,位于几个源文件,他都表示一个实体。
加上extern的标识符或函数在所有的源文件中都可以使用。
全局变量都默认具有外部链接属性。
内部链接:关键字 static
标识符在同一个源文件中都指的是同一个实体。
给默认为外部链接属性的标识符加上static,就将链接属性改为内部链接。
加上static的标识符或函数都只能在当前源文件使用。
无属性链接:除了上面两种链接方式之外,剩下的链接方式都属于无属性链接。标识符的多个声明被当做不同的实体。