外部全局变量定义在C文件还是头文件

全局变量定义在C文件跟定义在头文件里面有什么不一样?一般怎么用?比如说我要写5110液晶,得自己定义字符数据,这些数据用一个数组定义,那么应该在什么文件(.c还是.h)定... 全局变量定义在C文件跟定义在头文件里面有什么不一样?一般怎么用?
比如说我要写5110液晶,得自己定义字符数据,这些数据用一个数组定义,那么应该在什么文件(.c还是.h)定义呢?
展开
 我来答
雨晴世界

推荐于2017-09-01 · 用物理的观念理解世界
雨晴世界
采纳数:1313 获赞数:12369

向TA提问 私信TA
展开全部
如果全局变量只在你编写的文件中使用,就在源文件中定义;
如果团队合作,别人的代码需要用你的全局变量,就在头文件中定义,那样别人只需包含你的头文件,然后声明一下变量即可
efanabe
推荐于2017-09-28 · TA获得超过2008个赞
知道小有建树答主
回答量:708
采纳率:0%
帮助的人:1126万
展开全部
如果全局变量只在你编写的文件中使用,就在源文件中定义;如果团队合作,别人的代码需要用你的全局变量,就在头文件中定义,那样别人只需包含你的头文件,然后声明一下变量即可
更多追问追答
追问
比如:
我在源文件5110.c中声明
#include "5110.h"
extern uchar code font_code[][16];

在头文件5110.h中这样给它初始化
uchar code Ruo[][16]={{0x10,0x28,0x27,0x22,0xF6,0x2A,0xA2,0x6A,0x24,0x23,0xF2,0x26,0x2A,0x22,0x02,0x00,},
{0x21,0x21,0x11,0x09,0xFD,0x4B,0x49,0x49,0x49,0x49,0x49,0x49,0xF9,0x01,0x01,0x00}};

出错:FONT_CODE.C(4): error C279: 'Ruo': multiple initialization
追答
C语言中数组在定义时可以像你这样初始化,不能在定义之后,或者声明之时这样初始化:
uchar code Ruo[][16]={{0x10,0x28,0x27,0x22,0xF6,0x2A,0xA2,0x6A,0x24,0x23,0xF2,0x26,0x2A,0x22,0x02,0x00,},
{0x21,0x21,0x11,0x09,0xFD,0x4B,0x49,0x49,0x49,0x49,0x49,0x49,0xF9,0x01,0x01,0x00}};
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
展翅飞Er
2011-05-05
知道答主
回答量:8
采纳率:0%
帮助的人:5.8万
展开全部
在一个函数内部定义的变量只在本函数范围内有效(即只在本文件内有效),因此也叫作局部变量。
而在函数之外定义的变量是外部变量,也称为全局变量。全局变量可以为本文件内其他函数所公用。它的作用范围为从定义变量的位置开始到本源文件结束。
“5110液晶”这个我觉得应该在头文件里定义。
追问
我提问的情况是,在不同的文件之间全局变量的调用。那几句话我在书上看了很多次了。我要的是定义一堆数据以便调用。它们的值不用改变。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5e290eb
2011-05-05 · 超过15用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
如果是常量 就定义在头文件里面 如果不是const变量就定义在源文件里面。
追问
uchar code Ruo[][16]={{0x10,0x28,0x27,0x22,0xF6,0x2A,0xA2,0x6A,0x24,0x23,0xF2,0x26,0x2A,0x22,0x02,0x00,},
{0x21,0x21,0x11,0x09,0xFD,0x4B,0x49,0x49,0x49,0x49,0x49,0x49,0xF9,0x01,0x01,0x00}};
这样算不算常量
追答
不算常量,我说的常量是加const的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cvduan
2011-05-05 · TA获得超过564个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:264万
展开全部
都可以,如果不是特别必要,尽量少用全局变量。
追问
用了当然是必要的啦
追答
定义在头文件里的话,include头文件就可到处使用这个变量,如果是在.c中定义,还需要在使用该变量的.c文件中用extern关键字声明该变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式