![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
在C语言中,一个文件中定义的 全局变量,在另一个文件中能用吗?
6个回答
展开全部
全局变量extern可以在其他源程序中使用;全局变量static只能在本程序中使用。
全局变量是使用相同的内存块在整个类中存储一个值。
全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。
扩展资料:
使用注意
全局变量的存在主要有以下一些原因:
1、使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不应该算什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。
2、使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样也快不了多少。
3、对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。
4、当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。
5、还可以用extern在函数外对全局变量声明,使全局变量的作用域从声明处到文件的结束。
6、全局变量的优先度低于局部变量。
参考资料:百度百科-全局变量
展开全部
包含该全局变量所在的头文件,并在使用改变量的上方加入外部引用声明: extern "变量名" 即可
追问
不引用头文件只声明行吗?
追答
新手要勤动手呀!!! 不然进步很慢的,试试不就知道了嘛。因为是外部只声明的话如果是写windows内核驱动的时候,是系统变量就可以!但一般都是用户自己的外部变量的多!不包含头文件只声明肯定不行的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用_Hoiker的回答:
包含该全局变量所在的头文件,并在使用改变量的上方加入外部引用声明: extern "变量名" 即可
包含该全局变量所在的头文件,并在使用改变量的上方加入外部引用声明: extern "变量名" 即可
展开全部
你说的好像不对吧,
正确的解决办法:使用extern关键字来声明变量为外部变量。具体说就是在其中一个c文件中定义一个全局变量key,然后在另一个要使用key这个变量的c文件中使用extern关键字声明一次,说明这个变量为外部变量,是在其他的c文件中定义的全局变量。请注意我这里的用词:定义和声明。例如在main.c文件中定义变量key,在common.c文件中声明key变量为外部变量,这样这两个文件中就能共享这个变量key了。
(1)main.c文件
#include "common.h"
unsigned char key;
(2)common.c文件:
#include "common.h"
extern unsigned char key;
正确的解决办法:使用extern关键字来声明变量为外部变量。具体说就是在其中一个c文件中定义一个全局变量key,然后在另一个要使用key这个变量的c文件中使用extern关键字声明一次,说明这个变量为外部变量,是在其他的c文件中定义的全局变量。请注意我这里的用词:定义和声明。例如在main.c文件中定义变量key,在common.c文件中声明key变量为外部变量,这样这两个文件中就能共享这个变量key了。
(1)main.c文件
#include "common.h"
unsigned char key;
(2)common.c文件:
#include "common.h"
extern unsigned char key;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-29
展开全部
能,只要预先声明就可以了
追问
是不是在文件A中定义全局变量在文件B中声明就可以被B始用了?
追答
是的。除非变量有static linkage
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个static全局变量就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询