在认识链接之前,请务必弄清楚 作用域 的概念 : https://blog.csdn.net/piano_diano/article/details/88981569
一个C变量具有下列链接之一:外部链接(external linkage),内部链接(internal linkage),或空链接(no linkage)。
具有代码块作用域或者函数原型作用域的变量有空链接,意味着它们是由其定义所在的代码块或者函数原型所私有。
具有文件作用域的变量可能有内部或者外部链接。(看是否有 static 修饰)
int a = 10; //外部链接
static int b = 20; //内部链接
int main(){
return 0;
}
具有外部链接的变量可以在一个多文件程序的任何地方使用。
具有内部链接的变量可以在一个文件的任何地方使用。
参考书籍:
《C Primer Plus (第五版)》Stephen Prata 云巅工作室译