【发布时间】:2011-08-24 06:10:28
【问题描述】:
我有这行简单的代码:
int x;
x 的值自动为 1。我没有将其设置为任何值,但是当我调试时,它显示 x 为 1。
int 的默认值是否为 1?!
【问题讨论】:
标签: objective-c int local-variables variable-initialization
我有这行简单的代码:
int x;
x 的值自动为 1。我没有将其设置为任何值,但是当我调试时,它显示 x 为 1。
int 的默认值是否为 1?!
【问题讨论】:
标签: objective-c int local-variables variable-initialization
没有。 int 具有未定义的默认值。在这种情况下,它恰好是1。它可以很容易地成为-18382 或22 或0xBAADF00D。
始终在 C 中初始化变量。
【讨论】:
初始值是未定义的,在这种情况下,它将是在x 开始使用它之前发生在该内存位置的任何内容。
(根据周围的代码,您可能会发现在您的特定情况下它始终是1,但您不能确定这一点。)
【讨论】:
不,相反,x 根本没有默认值。您看到的是创建变量时放置的垃圾。
【讨论】:
初始化程序运行之前的实例变量are initialized to 0..
参考:
【讨论】: