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