给出以下代码段:
- (void)doSomething
{
NSUInteger count;
}
什么算?它保证是0吗?
答案 0 :(得分:15)
不,它不能保证为零,因为它是一个本地自动变量。没有初始化,它的值是不确定的。如果你想要它为零,要么初始化它:
NSUInteger count = 0;
或将其定义为static
:
static NSUInteger count;
因为具有静态存储持续时间的变量被隐式初始化为零,但请注意这有副作用(即函数调用之间的值仍然存在)。