c语言中extern关键字
最简单的例子:
001、 不适用extern关键字声明变量
[root@PC1 test]# ls test.c [root@PC1 test]# cat test.c ## 测试c程序 #include <stdio.h> int main(void) { printf("x = %d\n", x); // 调用变量x return 0; } int x = 10; // 变量x在程序块外定义 [root@PC1 test]# gcc test.c -o kkk ## 变异报错 test.c: In function ‘main’: test.c:7:21: error: ‘x’ undeclared (first use in this function) printf("x = %d\n", x); ^ test.c:7:21: note: each undeclared identifier is reported only once for each function it appears in
。
002、使用extern关键字
[root@PC1 test]# ls test.c [root@PC1 test]# cat test.c #include <stdio.h> int main(void) { extern x; // 此处使用extern关键词,表示使用外部变量x printf("x = %d\n", x); return 0; } int x = 10; [root@PC1 test]# gcc test.c -o kkk ## 编译、执行都没有问题 [root@PC1 test]# ls kkk test.c [root@PC1 test]# ./kkk x = 10
。
extern关键词的作用是扩大了变量的作用范围,表示在程序快内部可以使用程序快外部的变量。