c/c++ 全部变量,静态变量初始值为 0?

linsat 2010-12-19 01:50:32
是不是C或者C++的标准?

是否受编译器或操作系统的影响?
...全文
599 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayvb 2011-12-30
  • 打赏
  • 举报
回复
我自己实践的
动态变量和静态变量都是0
chen2009zhou 2011-11-02
  • 打赏
  • 举报
回复
路过,来顶下
luciferisnotsatan 2010-12-19
  • 打赏
  • 举报
回复
标准规定的
如果编译器没实现这个规定,那就换个编译器
qq12123589 2010-12-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 piaojun_pj 的回复:]
只有静态变量在没有赋初值的时候才会被初始化为0。其他的变量(局部变量)一般初始值是一个绝对值很大的负数,例如-858993460。
[/Quote]
用vc++调试的时候看到的就是这些
江南烟雨梦 2010-12-19
  • 打赏
  • 举报
回复
如果是系统内置的类型,那么就是0,如果是自定义的类类型,那么就需要你自己提供类默认的构造函数去初始化了.
寂寞的泡面 2010-12-19
  • 打赏
  • 举报
回复
只有静态变量在没有赋初值的时候才会被初始化为0。其他的变量(局部变量)一般初始值是一个绝对值很大的负数,例如-858993460。
flysnowhite 2010-12-19
  • 打赏
  • 举报
回复
这个是标准。
pengzhixi 2010-12-19
  • 打赏
  • 举报
回复
标准规定要求了
dubiousway 2010-12-19
  • 打赏
  • 举报
回复
是标准。

(在不指定初始值的情况下)

指针初始化null
算术类型初始化为0
集合类型,根据每个成员变量初始化
union类型,第一个命名的成员变量根据类型初始化
ajxzl 2010-12-19
  • 打赏
  • 举报
回复
是标准了
不知起什么名 2010-12-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 eamoon2008 的回复:]
引用 2 楼 pengzhixi 的回复:
标准规定要求了

+1
[/Quote]

+1
besterector 2010-12-19
  • 打赏
  • 举报
回复
是标准规定的。大一学c的时候课本上有这么一个例子。
Metrosexual 2010-12-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pengzhixi 的回复:]
标准规定要求了
[/Quote]
+1
lei001 2010-12-19
  • 打赏
  • 举报
回复
这个是编译器和系统决定的,不是标准的。写代码时,自己赋初值要保险些

[Quote=引用楼主 linsat 的回复:]
是不是C或者C++的标准?

是否受编译器或操作系统的影响?
[/Quote]
  • 打赏
  • 举报
回复
好吧,就是那样的!
一根烂笔头 2010-12-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dubiousway 的回复:]
是标准。

(在不指定初始值的情况下)

指针初始化null
算术类型初始化为0
集合类型,根据每个成员变量初始化
union类型,第一个命名的成员变量根据类型初始化
[/Quote]

#include <iostream>

using namespace std;
static int a;
static int *p;
static char ch;
static float f;
static double d;
static long g;
static bool b;
int main()
{
cout<<"全局静态变量初始化值:\n";
cout<<"int "<<a<<endl;
cout<<"int "<<p<<endl;
cout<<"char "<<ch<<endl;//‘\0’初始化字符,但是输出来是不显示的
cout<<"float "<<f<<endl;
cout<<"double "<<d<<endl;
cout<<"long "<<g<<endl;
cout<<"bool "<<b<<endl;
return 0;
}

SwingCodest 2010-12-19
  • 打赏
  • 举报
回复
最好一切变量和对象都做好显式初始化。
类的构造函数要写完整。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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