变量必须初始化吗?

wolfkingb 2001-12-21 12:31:43
...全文
191 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux2001 2001-12-21
  • 打赏
  • 举报
回复
在使用前最好初始化,不然可能引起不可预知的错误
类库 2001-12-21
  • 打赏
  • 举报
回复
不做也没关系吧
ywj 2001-12-21
  • 打赏
  • 举报
回复
初始化是个好习惯
Grrr 2001-12-21
  • 打赏
  • 举报
回复
up!gz!
hollysky 2001-12-21
  • 打赏
  • 举报
回复
最好做了
knight_errant 2001-12-21
  • 打赏
  • 举报
回复
最好初始化了,不然程序出错可别怪别人。
jacque 2001-12-21
  • 打赏
  • 举报
回复
不是必须得,视情况而定,也就是有缺省值时就用,但指针变量一般先初始化
happyjiji 2001-12-21
  • 打赏
  • 举报
回复
要视情况而定,如果你的变量是一般的数值变量,且在以后使用是会对其赋值,那么你定义时可不初始化如果你定义的是指针变量,如果不初始化那在使用时可能会造成对一个未知的内存单元写数据就有可能造成危险,如果是Windows程序会被操作系统关闭.当然作为好的编程习惯最好还是在定义变量的时候及是对其初始化
zhanghy 2001-12-21
  • 打赏
  • 举报
回复
续shornmao:

如果不初始化,系统会调用对象的default constructor,如果碰巧你没有写default constructor,那么系统会为你产生一个,这样对象会被用0来初始化,这样,你的构造函数中的分配内存一类的操作不会被调用,相应指针只会被简单的置零
kinghawk 2001-12-21
  • 打赏
  • 举报
回复
如果是循环变量,而且必须在for()外面定义的,你不初试化也没什么关系!
如果是指针,数组等重要的且有可能对整个程序甚至系统造成影响的变量,你必须要初试化,也许不初试化当时没什么错误,但这个隐患始终会变成灾难,到发生了错误再来改正,所花的时间和精力可能比你重新编一遍还大!
所以,养成好习惯,对你百利无害!
sam1111 2001-12-21
  • 打赏
  • 举报
回复
虽然不是必须的,但是初始化是个很好的习惯
happyforever 2001-12-21
  • 打赏
  • 举报
回复
不怕一万就怕万一,何况如果系统大了会出严重的难以解决的问题,所以应该说必须初始化!!!
shornmao 2001-12-21
  • 打赏
  • 举报
回复
对象初始化的必要性:
1)程序的正确性。如果在未定以前就使用对象的值,基本上会导致程序错误,还很有可能造成系统崩溃。
2)程序的效率。如果你不在定义的时候进行对象的初始化,一般你必然在程序中的某一时刻对该对象明确的赋值,这样原本只要调用一次构造函数的开销,变成了调用依次缺省构造函数和拷贝构造函数或者重载的赋值运算符的开销。

建议:
在定义是可以确定初值的,尽可能初始化,除非没有明确的初值可供初始化。
jimw 2001-12-21
  • 打赏
  • 举报
回复
不初始化,系统可能会出现一些意想不到的问题。
所以还是养成变量初始化的好习惯
swordinhand 2001-12-21
  • 打赏
  • 举报
回复
你不怕出事情就可以不初始化

69,381

社区成员

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

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