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?