INFORMATIQUE > DÉVELOPPEMENT
INFORMATIQUE > INFORMATIQUE GÉNÉRALE
N. m. Variable contenant une adresse mémoire. Les pointeurs typés sont les plus répandus. Quand on incrémente un pointeur de ce type, il est incrémenté de la taille du type pointé (voir ci-dessous).
De nombreux langages (C, C++, Pascal, Ada, Fortran, C#, D, Modula-2, oberon...) utilisent les pointeurs.
Exemple en C :
main(){
/*Nous définissons un tableau de 3 éléments qui sont des entiers*/
int tab[] = {10, 100, 1000};
/*Nous créons un pointeur*/
int *p;
/* Nous mettons l'adresse du tableau tab dans le pointeur */
p = tab;
/*Nous affichons le pointeur et la valeur vers laquelle il pointe*/
printf("%p \\n",p);
printf("%i \\n",*p);
/*Nous incrémentons p pour atteindre la valeur suivante*/
p++;
/*Nous affichons la nouvelle valeur du pointeur et la valeur vers laquelle il pointe*/
printf("%p \\n",p);
printf("%i",*p);
}
Ce programme affiche :
4294590468
10
4294590472
100
La différence entre les deux valeurs du pointeur est de 4 parce que chaque nombre occupe 4 octets (type int sur les machines à 64 bits)
Pour afficher les valeurs des pointeurs nous utilisons le format %p (p comme pointeur) car le pointeur est un entier non signé. (si on utilise %i (entier signé), la valeur ne sera pas toujours correctement interprétée et des valeurs négatives apparaitront en raison de la prise ne compte d'un bit de signe qui n'existe pas)