Objective-C中的int的默认值是1吗?

ary*_*axt 5 int objective-c local-variables variable-initialization

我有这么简单的代码:

int x;
Run Code Online (Sandbox Code Playgroud)

x自动具有值1.我没有设置它,但是当我调试时,它显示x为1.

是否int有默认值1?!

Jon*_*pan 21

No. int具有未定义的默认值.恰好1在这种情况下.它可以很容易-18382220xBAADF00D.

始终在C中初始化变量.

  • ......`0xDEADBEEF`?;) (2认同)

Ric*_*dle 6

初始值未定义,在这种情况下,将是在x开始使用它之前发生在该内存位置的任何内容.

(根据周围的代码,您可能会发现在特定情况下它始终存在1,但您无法确定.)


Bli*_*ndy 5

不,相反,x根本没有默认值.您所看到的是变量在创建时所放置的垃圾.