在本地范围内,NSUInteger 的默认值是什么?

3

考虑以下代码片段:

- (void)doSomething
{
    NSUInteger count;
}

什么是 count?它保证为 0 吗?


1
谢谢大家。其实我已经意识到可能是垃圾内存,但特意询问它是否保证为0。因为我想这对下一个发现这个问题的人会更有用。 - funroll
1个回答

16

不,它不能保证为零,因为它是一个本地自动变量。如果没有初始化,它的值是不确定的。如果您希望它为零,请进行初始化:

NSUInteger count = 0;

或者将其定义为static

static NSUInteger count;

由于具有静态存储期的变量隐式初始化为零,但请注意这会产生副作用(即值在函数调用之间保持不变)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接