Powiedzmy a
jest wskaźnik, a po przydzielania pamięci dla niej, chcę sprawdzić, czy pamięć została przydzielona powodzeniem, widziałem dwa sposoby w ten sposób:W języku C, jest warunek: "if (a! = NULL)" taki sam jak warunek "if (a)"?
if(a != NULL)
if(a)
Jaka jest różnica między pierwszym i drugie stwierdzenia?
Skończą jako takie same. – Steve
NULL to makro, które jest zazwyczaj zdefiniowane jako 0, więc pierwsze wyrażenie jest takie samo jak (a! = 0), drugie sprawdza również, czy a! = 0, więc jest to ta sama edycja: zwykle –
Tak, jeśli * 'a' * jest wskaźnikiem, może być inny, jeśli 'a' nie jest wskaźnikiem w zależności od definicji' NULL'. –