考虑以下代码片段:
- (void)doSomething
{
NSUInteger count;
}
什么是 count?它保证为 0 吗?
考虑以下代码片段:
- (void)doSomething
{
NSUInteger count;
}
什么是 count?它保证为 0 吗?
不,它不能保证为零,因为它是一个本地自动变量。如果没有初始化,它的值是不确定的。如果您希望它为零,请进行初始化:
NSUInteger count = 0;
或者将其定义为static
:
static NSUInteger count;
由于具有静态存储期的变量隐式初始化为零,但请注意这会产生副作用(即值在函数调用之间保持不变)。