В C и С++ разыменование нулевого указателя имеет поведение undefined. Что насчет Objective-C?
Другими словами, что гарантируется этот код?
*(long*)0 = 0;
Предыстория: Интересно, может ли этот ответ вызвать поведение undefined, потенциально вызывающее случайные вещи, такие как оптимизируемое утверждение или даже более странные вещи.
Конечно, я не поддерживаю это. Тем не менее, важно знать правила языка.