链接属性(linkage) ---- external (外部)、internal(内部)、none(无)
链接属性处理不同文件中的标识符
external:属于该链接属性的标识符无论声明多少次、位于几个源文件,都表示同一个实体
internal:属于该链接属性的标识符在同一个源文件的所有声明表示同一实体,不同源文件中的声明表示不同实体
none:多个声明均表示不同实体
typedef char *a; int b; int c (int d){ int e; int f (int g); }
b,c,f的链接属性为external,其余为none
使用关键字static和extern可以改变链接属性
1.默认为external的声明,加上static变为internal
static int i;
2.extern为标识符指定external链接属性
extern int i;
extern用于某个标识符的第二个或以后的声明时,不会改变第一次声明所指定的链接属性
时间: 2024-12-25 05:16:19