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
。它可以很容易地成为-18382
或22
或0xBAADF00D
。
始终在 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 [关闭]