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". Ce message est l’indication d’un problème grave qui doit être résolu.