Disons que a
est un pointeur, et après l'allocation de mémoire pour elle, je veux vérifier si la mémoire a été attribué avec succès, je l'ai vu deux façons faire:En C, la condition: "if (a! = NULL)" est-elle la même que la condition "if (a)"?
if(a != NULL)
if(a)
Quelle est la différence entre la première et les secondes déclarations?
Ils finiront par la même chose. – Steve
NULL est une macro qui est généralement définie comme 0, donc la première expression est identique à (a! = 0), la seconde vérifie également si a = 0, donc c'est la même édition: typiquement –
Oui, si * 'a' * est un pointeur, il pourrait être différent si 'a' n'est pas un pointeur selon la définition de' NULL'. –