找回密码
 注册
搜索
查看: 1964|回复: 5

[讨论] 【请教】C语言extern声明一个全局变量时可以初始化吗?

[复制链接]
发表于 2011-11-23 23:55:47 | 显示全部楼层 |阅读模式
C语言extern声明一个全局变量时可以初始化吗?比如:
extern NvU32 disp_init_flag = 0;,记得这样是不可以的,高手可以说一下你的理解吗,谢谢![em13]
发表于 2011-11-25 13:45:34 | 显示全部楼层
这种问题自己多看看书吧,刚毕业呢吧
点评回复

使用道具 举报

发表于 2011-11-25 12:34:40 | 显示全部楼层
放到c文件中,其他地方调用时extern NvU32 disp_init_flag ;一下还是可以的。
放到h文件中不行,每个包含这个h文件的c文件都会赋值,就冲突了。[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2011-11-24 11:19:48 | 显示全部楼层
extern NvU32 disp_init_flag ;申明disp_init_flag为一个int全局变量,该变量是在其他.c文件定义过的。这里如果再赋值就跟定义 disp_init_flag 的地方冲突有了[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2011-11-24 09:48:46 | 显示全部楼层
可以 但这样NvU32 disp_init_flag为0了,还要extern干吗呢 先查查extern的用意吧
点评回复

使用道具 举报

发表于 2011-12-6 18:55:45 | 显示全部楼层
不行,去看看,什么叫声明,什么叫定义
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-25 10:23 , Processed in 0.066480 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表