【问题标题】: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?!

【问题讨论】:

    标签: objective-c int local-variables variable-initialization


    【解决方案1】:

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

    始终在 C 中初始化变量。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          参考:

          【讨论】:

          • 问题不在于实例变量。
          猜你喜欢
          • 2010-10-26
          • 1970-01-01
          • 2011-03-17
          • 2011-02-19
          • 2012-04-07
          • 2010-12-19
          • 2011-11-30
          • 1970-01-01
          • 2011-02-09
          相关资源
          最近更新 更多