现在的位置: 首页 > 综合 > 正文

C标识符的链接(外部链接,内部链接和无链接)

2013年10月09日 ⁄ 综合 ⁄ 共 559字 ⁄ 字号 评论关闭

 C标识符链接有3种形式:外部链接的标识符,内部链接的标识符,无链接的标识符

 

外部链接的标识符:存储类标识符使用 extern 修饰,或无此类修饰符修饰(系统默认为extern )  ||可在其他源代码文件中使用

内部链接的标识符: 使用 static 修饰         || 只可在当前源代码文件中使用

无链接的标识符: 函数参数;被声明在函数内的没有extern修饰的变量(局部变量);非变量名,非函数名的标识符,如label name

 

 

 

一段经典例子,有助于区别和记忆:

 

int   func1(void);     //fuc1具有外部链接

int  a;                     //a 具有外部链接

extern int b=1;      //b具有外部链接

static int c;           // c 具有内部链接

 

 

static void  func2( int d )  // func2具有内部链接

{

     extren int a;              // a 具有外部链接

     int b =2;                  // 此b具有无链接,并将上面声明的b隐藏起来

     extern int c;          // c和上面的c一样,维持内部链接

     static int e;          //e 具有无链接

....

}

抱歉!评论已关闭.