Какое значение по умолчанию NSUInteger в локальной области?
Учитывая следующий фрагмент:
- (void)doSomething
{
NSUInteger count;
}
Что такое счет? Это гарантированно будет 0?
1 ответ
Решение
Нет, он не гарантированно равен нулю, поскольку это локальная автоматическая переменная. Без инициализации его значение не определено. Если вы хотите, чтобы он был равен нулю, либо инициализируйте его:
NSUInteger count = 0;
или определить его как static
:
static NSUInteger count;
поскольку переменные со статической длительностью хранения неявно инициализируются до нуля, но обратите внимание, что это имеет побочные эффекты (а именно, значение сохраняется между вызовами функций).