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

用声明外部变量

时间:2022-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。

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

我要反馈