【发布时间】:2014-06-17 13:21:48
【问题描述】:
我正在阅读 Stephen G. Kochan 所著的《Objective-C 编程》第六版一书。它在第 144 页上有以下声明,这让我感到困惑:
作为基本 C 数据类型的局部变量没有默认初始值,因此在使用它们之前必须将它们设置为某个值。
但当我有以下代码时,它仍然有效,并显示 0:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
int number;
NSLog(@"%i", number);
return 0;
}
int 不是基本的 C 数据类型吗?
【问题讨论】:
-
只要您在调试器中运行代码,它就可以工作。调试器对使用 0 初始化局部变量的应用程序内存做了一些魔术:flounder.com/debug_release.htm
标签: objective-c c int local-variables variable-initialization