c语言中,用extern关键字来修饰一个变量,表示这个变量具有外部链接。
但是不要用extern变量去创建外部定义,即
extern int a;
int main(void) {
printf("%d",a);
return 0;
}
会发现编译器报错,因为编译器会假设a得实际定义在其它c文件中,所以不会分配a得内存。
但是如果给a赋值,则可以,因为赋值为a分配了内存。
c语言中,用extern关键字来修饰一个变量,表示这个变量具有外部链接。
但是不要用extern变量去创建外部定义,即
extern int a;
int main(void) {
printf("%d",a);
return 0;
}
会发现编译器报错,因为编译器会假设a得实际定义在其它c文件中,所以不会分配a得内存。
但是如果给a赋值,则可以,因为赋值为a分配了内存。