Latest web development tutorials

Null Pointer de C

C ++ pointeurs C ++ pointeurs

Au moment de la déclaration des variables, sinon l'adresse exacte peut être affectée, attribuer une valeur NULL pour la variable de pointeur est une bonne pratique de programmation. Fu NULL valeur de pointeur est appelé un pointeurNULL.

Un pointeur NULL est défini dans la bibliothèque standard zéro constantes. Considérez le programme suivant:

#include <iostream>

using namespace std;

int main ()
{
   int  *ptr = NULL;

   cout << "ptr 的值是 " << ptr ;
 
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

ptr 的值是 0

Sur la plupart des systèmes d'exploitation, le programme ne permet pas l'accès à l'adresse de mémoire 0, parce que la mémoire est réservée au système d'exploitation. Toutefois, l'adresse mémoire 0 a une signification particulière, il indique que le pointeur ne pointe pas vers un emplacement de mémoire accessible. Mais, selon la convention, si le pointeur contient une valeur null (valeur zéro), on suppose qu'il ne pointe pas vers quoi que ce soit.

Pour vérifier un pointeur NULL, vous pouvez utiliser l'instruction if, comme suit:

if(ptr)     /* 如果 p 非空,则完成 */
if(!ptr)    /* 如果 p 为空,则完成 */

Par conséquent, si tous les pointeurs inutilisés sont attribués une valeur nulle, tout en évitant l'utilisation d'un pointeur NULL, il est possible de prévenir l'utilisation abusive d'un pointeur non initialisé. Dans de nombreux cas, les variables non initialisées, il y a une certaine valeur d'ordures, provoque le programme difficile à déboguer.

C ++ pointeurs C ++ pointeurs