c++变量为什么要初始化

我不明白为什么要初始化,直接建立一个变量不就完了吗,初始化是怎么一回事,前因后果是什么... 我不明白 为什么要初始化,直接建立一个变量不就完了吗,初始化是怎么一回事,前因后果是什么 展开
 我来答
discovery522
推荐于2018-04-12 · TA获得超过4713个赞
知道大有可为答主
回答量:2308
采纳率:71%
帮助的人:1491万
展开全部
C++的局部变量一般是在栈上进行分配的。
栈使用的是RAM,掉电内容丢失,上电内容随机。
这里的随机,一般指其不能确定其内容一定是什么,而不是说其内容完全没有规律,与数学上的随机数没有什么关系。
举个例子,一个字节的RAM,8位有256种可能。数学上讲随机数,那么这个字节上电后应该是256种可能性中某一个。但计算机上不是这样,其上电后的内容一般来说就是0,但你不能保证它一定就是零,有很小的可能它的内容不是0,那么是多少呢?不知道!在程序处理上,你就要认为它的内容是随机的。

没有初始化,得到了一个确定的运行结果,两个可能,这个结果内容就是随机的,只不过结果恰好是这个值而已,但你不能保证下次运行结果,那么你就需要把它当随机值对待。另一个可能,你在不经意间执行了初始化,因为C++本身会链接一些初始化程序,这个牵涉到另一个话题,系统是怎么样进行初始化的。

结论,变量应该明确的进行初始化。如果系统不能确定你的变量初值是一个确定的值,那么就需要你自己来做初始化。
匿名用户
推荐于2017-12-15
展开全部
一个变量光定义的话,只会为它分配一个内存空间,但是具体的数值是不确定的,如果你不初始化(也就是赋初值),你拿什么去参与的运算操作,不得而知,运算的结果肯定要有问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
972702550
2011-06-26 · 超过30用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:55万
展开全部
因为不赋值它的指针为空,而为空的指针没有意义,初始化就是第一次赋值,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式