C中,全局变量不赋初值会怎样

d383137359 2009-12-01 09:52:35
C中,全局变量不赋初值会怎样?
...全文
3556 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
ArvinCSDN 2011-08-04
  • 打赏
  • 举报
回复
会被初始化为0
sk_sakula 2011-05-13
  • 打赏
  • 举报
回复
全局变量的初值是0,VC6.0
d383137359 2010-01-04
  • 打赏
  • 举报
回复
同感
smallbear_2008 2010-01-02
  • 打赏
  • 举报
回复
哈哈,没想到今天我也想问这个问题!
why0727 2009-12-02
  • 打赏
  • 举报
回复
是0啊
zuojunyuan 2009-12-02
  • 打赏
  • 举报
回复
我用vs2008编译的话,会报错。
kostion 2009-12-02
  • 打赏
  • 举报
回复
变量初始化为0, 指针为null
alexhilton 2009-12-02
  • 打赏
  • 举报
回复
C标准是要求全局变量要被初始化为零值(0, NULL)但是这要看具体的编译器.
cir2633 2009-12-02
  • 打赏
  • 举报
回复
随机,
但是,如果这个全局变量是static的话,编译器应该把初始为0(int是这样的)
magicpang 2009-12-02
  • 打赏
  • 举报
回复
看系统吧,有的会初始化成为0,有的系统可能就不会去做这个事情

不要依赖这个。自己初始化,或者赋予一个初值
amoroso1860 2009-12-02
  • 打赏
  • 举报
回复
2楼正解。
全局变量不赋值的话, 是被出化成零的, 全局变量在静态数据段里, 这个数据段是被设置成零的。
如果是局部变量的话,它的值是随机值。
xiaopoy 2009-12-02
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 pengzhixi 的回复:]
引用 14 楼 datheng 的回复:
引用 11 楼 pengzhixi 的回复:
引用 10 楼 datheng 的回复:
引用 2 楼 skysoshy 的回复:
全局变量不赋值的话, 是被出化成零的, 全局变量在静态数据段里, 这个数据段是被设置成零的。


正解,全局变量是按类型初始化的.int 是0, float 是 0.0, 指针是指向0,etc

局部变量不赋值的话,他的值是随机的.


别把C++和C的编译器混在一起了。

好像C和C++在处理这个问题上是一样的吧? 最少现在的C编译器是这样处理的.


没有的,C标准规定 全局变量不初始化就是随机值。如果你使用的是C++编译器,那执行的肯定是C++标准嘛
[/Quote]


是 可执行文件的标准规定的。

按自己所接触的各种各样可执行文件的标准,well,按自己接触过的 处理器, MIPS/intel/power PC/ alpha/ARM,全都是初始化c里的 全局变量为0
yllzhq 2009-12-01
  • 打赏
  • 举报
回复
随机分配
lovesi3344 2009-12-01
  • 打赏
  • 举报
回复
全局变量和静态变量未初始化都被置为0
他们都是存储在静态存储区
就像数组未初始化的元素被置为0
但是数组存储在堆栈存储区
lyboy_caidou 2009-12-01
  • 打赏
  • 举报
回复
同意 0;
  • 打赏
  • 举报
回复
标准规定 是 0
FollowYourHeart 2009-12-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 pengzhixi 的回复:]
引用 10 楼 datheng 的回复:
引用 2 楼 skysoshy 的回复:
全局变量不赋值的话, 是被出化成零的, 全局变量在静态数据段里, 这个数据段是被设置成零的。


正解,全局变量是按类型初始化的.int 是0, float 是 0.0, 指针是指向0,etc

局部变量不赋值的话,他的值是随机的.


别把C++和C的编译器混在一起了。
[/Quote]
好像C和C++在处理这个问题上是一样的吧? 最少现在的C编译器是这样处理的.
lvchun012 2009-12-01
  • 打赏
  • 举报
回复
就看你在什么环境下运行的,跟编译器有关系,但总的来说,是个很危险的做法
Initiala 2009-12-01
  • 打赏
  • 举报
回复
C++没学过,但是在C的编译器里会被初始化为零。(不管是值类型还是字符型)
qq25304239 2009-12-01
  • 打赏
  • 举报
回复
反正我在vc++中运行的时候都是默认0
加载更多回复(24)

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧