#include <stddef.h> // <cstddef> en C++
La macro NULL représente une constante de pointeur nul. Sa définition exacte dépend de l'implémentation : elle peut être
définie à partir de 0, de 0L ou d'une expression de type pointeur nul. Le point important est son usage :
NULL sert à initialiser ou comparer des pointeurs.
L'exemple suivant initialise un pointeur à NULL, puis vérifie qu'aucune adresse valide n'est encore associée à ce pointeur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stddef.h> #include <stdio.h> #include <stdlib.h> int main() { int * pointer = NULL; if ( pointer == NULL ) { printf( "Le pointeur ne désigne aucune valeur.\n" ); } return EXIT_SUCCESS; } |
Les résultats produits par cet exemple sont :
Le pointeur ne désigne aucune valeur.
Depuis C23, le langage propose aussi nullptr, avec le type associé nullptr_t.
NULL reste néanmoins très présent dans le code C existant.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :