AmazingCounters.com

链接属性

链接属性(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用于某个标识符的第二个或以后的声明时,不会改变第一次声明所指定的链接属性

posted @ 2015-12-01 22:04  hugue  阅读(468)  评论(0)    收藏  举报