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关键词的作用是扩大了变量的作用范围,表示在程序快内部可以使用程序快外部的变量。

 

posted @ 2024-11-12 09:35  小鲨鱼2018  阅读(0)  评论(0编辑  收藏  举报