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

Posted

技术标签:

【中文标题】Objective-C 中的 int 是不是有默认值 1?【英文标题】:Does an int in Objective-C have a default value of 1?Objective-C 中的 int 是否有默认值 1? 【发布时间】:2011-08-24 06:10:28 【问题描述】:

我有这行简单的代码:

int x;

x 的值自动为 1。我没有将其设置为任何值,但是当我调试时,它显示 x 为 1。

int 的默认值是否为 1?!

【问题讨论】:

【参考方案1】:

没有。 int 具有未定义的默认值。在这种情况下,它恰好是1。它可以很容易地成为-18382220xBAADF00D

始终在 C 中初始化变量。

【讨论】:

【参考方案2】:

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

(根据周围的代码,您可能会发现在您的特定情况下它始终是1,但您不能确定这一点。)

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

初始化程序运行之前的实例变量are initialized to 0..

参考:

Are instance variables set to nil by default in Objective-C?

【讨论】:

问题不在于实例变量。

以上是关于Objective-C 中的 int 是不是有默认值 1?的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C 检查带有 int 的数组是不是包含 int [关闭]

Objective-C:我的 int 值不是我所期望的

Objective-C基础笔记@property和@synthesize

在 Objective-C 中维护代表不变量

Objective-C基础笔记Block

Objective-C中的@Property具体解释