C语言中未初始化的局部变量具体数值是多少?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1318个文字,预计阅读时间需要6分钟。
在C语言中,未初始化的局部变量数量取决于具体情况。一般来说,与编译器有关。可能但不保证初始化为0。尚未确定。总之,都是一些基本的正规形式,这让人很困惑。但有些人认为:
C语言中,未初始化的局部变量到底是多少?
答案往往是:
- 与编译器有关。
- 可能但不保证初始化为0。
- 未确定。
总之,全部都是些一本正经的形而上答案,这很令人讨厌。
但凡一些人给你滔滔不绝地扯编译器,C库,处理器体系结构却给不出一个实际场景复现问题的时候,这人大概率在扯淡。
又是周五回家时,大巴车上作短文一篇。
其实,这个问题本身就是错误的问法,说全了能讲10万字,我们只要能在特定场景下确定其特定行为就OK了,当然,这就需要设计一个比较OK的实验。
在演示一个实际代码行为之前,先给出一个知识, CPU不认识变量,更无法识别变量的名字,CPU只会从特定的内存位置取值或者将值存到特定的内存位置,因此当问一个变量的值是多少的时候,必须要知道这个变量对应的值被保存在什么地方。
本文共计1318个文字,预计阅读时间需要6分钟。
在C语言中,未初始化的局部变量数量取决于具体情况。一般来说,与编译器有关。可能但不保证初始化为0。尚未确定。总之,都是一些基本的正规形式,这让人很困惑。但有些人认为:
C语言中,未初始化的局部变量到底是多少?
答案往往是:
- 与编译器有关。
- 可能但不保证初始化为0。
- 未确定。
总之,全部都是些一本正经的形而上答案,这很令人讨厌。
但凡一些人给你滔滔不绝地扯编译器,C库,处理器体系结构却给不出一个实际场景复现问题的时候,这人大概率在扯淡。
又是周五回家时,大巴车上作短文一篇。
其实,这个问题本身就是错误的问法,说全了能讲10万字,我们只要能在特定场景下确定其特定行为就OK了,当然,这就需要设计一个比较OK的实验。
在演示一个实际代码行为之前,先给出一个知识, CPU不认识变量,更无法识别变量的名字,CPU只会从特定的内存位置取值或者将值存到特定的内存位置,因此当问一个变量的值是多少的时候,必须要知道这个变量对应的值被保存在什么地方。

