Participer au site avec un Tip
Rechercher
 

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 :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Macro NULL

Le type rsize_t La macro offsetof


Entête à inclure

#include <stddef.h>  // <cstddef> en C++

Macro NULL

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;
}
Tester un pointeur nul

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.

Sujets connexes

La librairie stddef.h
nullptr_t
Utilisation de pointeurs


Le type rsize_t La macro offsetof




Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé