我有这行简单的代码:
int x;
x
自动具有值 1。我没有将其设置为任何值,但是当我调试时,它显示x
为 1。
anint
的默认值为 1 吗?
我有这行简单的代码:
int x;
x
自动具有值 1。我没有将其设置为任何值,但是当我调试时,它显示x
为 1。
anint
的默认值为 1 吗?
No.int
有一个未定义的默认值。它恰好是1
在这种情况下。它可以很容易地是-18382
or22
或0xBAADF00D
。
始终在 C 中初始化变量。
初始值是未定义的,在这种情况下,将是在x
开始使用它之前发生在该内存位置的任何内容。
(根据周围的代码,您可能会发现在您的特定情况下它总是1
,但您不能确定这一点。)
不,相反,x
根本没有默认值。您看到的是创建变量时放置的垃圾。