首页 百科知识 用声明外部变量

用声明外部变量

时间:2024-10-20 百科知识 版权反馈
【摘要】:如果程序由多个源程序文件组成,那么在一个文件中想引用另一个文件中已定义的外部变量,同样可以使用关键字extern对其进行声明使外部变量的作用域扩展到本源程序文件中。在file2.c文件中的开头有一个extern声明,它声明在本文件中出现的变量a是一个已经在其他文件中定义过的外部变量,本文件不必再次为它分配内存。

7.8.5 用extern声明外部变量

外部变量在所有函数之外定义,属于静态存储类型,作用域从定义变量的位置开始到本源文件结束,可以用关键字extern对其进行声明来扩展外部变量的作用域。分两种情况:

(1)在一个文件内声明外部变量。此时声明语句在函数内,使外部变量的作用域扩展到本函数。

(2)在一个源文件中声明另一源文件中定义的外部变量。

一个C程序可以由一个或多个源程序文件组成。如果程序由多个源程序文件组成,那么在一个文件中想引用另一个文件中已定义的外部变量,同样可以使用关键字extern对其进行声明使外部变量的作用域扩展到本源程序文件中。

【例7-20】在一个源文件中声明另一源文件中定义的外部变量。

img325

在file2.c文件中的开头有一个extern声明,它声明在本文件中出现的变量a是一个已经在其他文件中定义过的外部变量,本文件不必再次为它分配内存。本来外部变量a的作用域是filel.c,但现在用extern声明将其作用域扩大到file2.c文件。

在同一个文件内声明外部变量,哪个函数要使用定义在其后的外部变量,就需在那个函数中声明外部变量;对于多文件而言,哪个文件要使用非本文件中定义的外部变量,就需在那个文件中声明外部变量,但必须在函数之外声明。

【例7-21】用extern声明外部变量,扩展程序文件中的作用域。

img326

img327

说明:在本程序文件的最后一行定义了外部变量A,B,但由于外部变量定义的位置在函数main之后,因此本来在main函数中不能引用外部变量A,B,现在我们在main函数中用extern对A和B进行“外部变量声明”,就可以从“声明”处起,合法地使用该外部变量A和B。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈

Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40