我有这么简单的代码:
int x;
x
自动具有值1.我没有将其设置为任何内容,但在我调试时,它显示x
为1。
int
的默认值是否为1?!
答案 0 :(得分:21)
没有。 int
具有未定义的默认值。在这种情况下恰好是1
。它可以很容易-18382
或22
或0xBAADF00D
。
始终在C中初始化变量。
答案 1 :(得分:6)
初始值未定义,在这种情况下,将是x
开始使用之前发生在该内存位置的任何内容。
(根据周围的代码,您可能会发现在特定情况下它始终为1
,但您无法确定这一点。)
答案 2 :(得分:5)
不,相反,x
根本没有默认值。您所看到的是变量在创建时被放置的垃圾。
答案 3 :(得分:-1)
初始化程序运行之前的实例变量are initialized to 0 ..
REF: