Dlaczego dereferencja wartości null nie powoduje awarii mojego programu?

Napisałem następujący kod, aby wywołać awarię (testowałem niektórezagadnienia z CrashReporter):

<code>int *nullp = NULL;
int val = *nullp;    
NSLog(@"Hello world %d", val);
</code>

W zupełnie nowym projekcie (umieściłem go w aplikacji dla delegataapplicationDidFinishLaunching:) zawiesza się zgodnie z oczekiwaniami. Ale kiedy dodam go do jednego z moich istniejących projektów, nie ulega awarii! W rzeczywistości kończy się drukowanie „Hello world 0” do dziennika systemu.

To nie ma dla mnie żadnego sensu. Dlaczego dereferencja zerowa nie powoduje awarii?

questionAnswers(3)

yourAnswerToTheQuestion