Pointeur null en C++

C’est une bonne pratique d’affecter un pointeur NULL à une variable de pointeur au cas où vous n’avez pas l’adresse exacte à assigner. Cela se fait au moment de la déclaration des variables. Un pointeur qui est affecté NULL est appelé un pointeur null.
 
 
Le pointeur NULL est une constante avec une valeur de zéro définie dans plusieurs bibliothèques standard, y compris < iostream >. Considérez le programme suivant:

#include <iostream>
using namespace std;

int main () {
int *p = NULL;

cout << "La valeur de p est " << p ;

return 0;
}
La sortie :
La valeur de p est 0

Dans la plupart des systèmes d’exploitation, les programmes ne sont pas autorisés à accéder à la l’adresse mémoire 0 car cette mémoire est réservée pour le système d’exploitation. Cependant, l’adresse mémoire 0 a une signification particulière; Il signale que le pointeur n’est pas destiné à pointer vers un emplacement de mémoire accessible. Mais par convention, si un pointeur contient la valeur nulle (zéro), il est supposé qu’il ne point sur rien.

Pour vérifier si un pointeur est null, vous pouvez utiliser l’instruction if comme suivant:

If(p) //  vrai si p n'est pas nul
If(!p) // vrai si p est nul

Vous pouvez éviter l’utilisation d’un pointeur non initialisé, et comme vous savez les variables non initialisées contiennent des valeurs indésirables et donc il devient difficile de déboguer le programme.
 
 

Une réflexion sur “Pointeur null en C++

  • mai 6, 2019 à 8:01
    Permalien

    int p = NULL génère un warning… C’est pas très malin d’assigner un int à NULL. En général on assigne un pointeur à NULL, pas la valeur d’une variable.

    Ensuite, la condition If avec un i majuscule c’est limite…

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.