13.2.2 Affectation de pointeur

Icône de l'outil pédagogique Affectation de pointeur

Un pointeur est une variable qui contient une adresse. Les affectations suivantes peuvent être réalisées :

short int a = 12 ; /* définition de variables scalaire ou tableau */
double table[10] ;

short int* ptr1 ; /* définition de 3 pointeurs */
double* ptr2 ;
double * ptr3 ;

ptr1 = &a ;
ptr2 = table ;
/* qui équivaut à : ptr2 = &table[0] */
ptr3 = (double *)malloc ( 15 * sizeof(double) ) ;
/* réserve le nombre d'octets nécessaire pour 15 float et place l'adresse du 1er octet dans ptr3 */

Remarquons la possibilité d'affecter à un pointeur la valeur 0 représentée par la constante NULL :

ptr = NULL ;

Par convention, un pointeur de valeur NULL ne pointe sur rien.

Attention : le compilateur ne vérifie pas si le pointeur que vous utilisez a été affecté avec une valeur non nulle et correcte. En cas d'oubli, un message peut apparaître en fin d'exécution, du type "Null pointer assignment". C emessage est l’indication d’un problème grave qui doit être résolu.