C_facile : Introduction au langage C
Cours

Le type "pointeur vers"

Comme nous l'avons précisé, toute donnée du programme possède un type. Une déclaration génère un réceptacle de un ou plusieurs octets. Si l'on connaît la taille du réceptacle et l'adresse en mémoire de son premier octet, nous pouvons accéder à son contenu, c'est-à-dire à la valeur qui y est contenue.

En C, on appelle pointeur une information qui correspond à l'adresse mémoire d'un octet. Cependant, si l'on n'en connaît pas la taille cela ne suffit pas. Par conséquent, on doit définir le type pointeur relativement à ce qui est pointé.

Concrètement, on ajoute après l'identificateur de type simple le signe ‘*' pour déclarer un type pointeur vers.

Ce qui implique que, par exemple, une valeur de type « char * » sera codée sur 4 octets (c'est une adresse). Cette valeur correspond à l'emplacement d'un octet dans la mémoire centrale qui correspond à un caractère.

Le langage C utilise abondamment les pointeurs. C'est une des difficultés à maîtriser.

Sur une architecture 32 bits, les littéraux de type adresse (valeur des pointeurs) sont compris dans l'intervalle [0, 4294967295].

Le type « void * » existe. Il ne signifie pas « pointeur vers rien » mais pointeur vers un octet quelconque de la mémoire centrale. Ce n'est pas la même chose que « char * ».

La convention logique du C (page suivante)Le type rien (void) (page Précédente)
AccueilImprimer creativecommons : by-nc-ndRéalisé avec SCENARI