Comment faire un programme en C avec les pointeurs ?
En C, un pointeur représente l'adresse d'une variable, c'est-à-dire l'adresse de cette variable dans la mémoire. Il y a quelques notion de syntaxe à connaître pour pouvoir utiliser les pointeurs :
Le caractère *
utilisé à la déclaration permet de déclarer un pointeur :
// Déclare un pointeur vers une variable de type entier
int *pVal;
// Déclare un pointeur vers une variable de type flotant
float *pReal;
Le caractère &
permet de récupérer l'adresse d'une variable (c'est-à-dire un pointeur vers cette variable) :
// On affecte l'adresse de la variable val au pointeur pVal:
pVal = &val;
// On affiche l'adresse de la variable pReal :
printf ("%p", &preal);
Enfin, le caractère *
utilisé hors déclaration permet de manipuler le contenu de la variable pointée par le pointeur :
// On affecte 5 à la variable pointée par pVal (équivalent à val = 5)
*pVal = 5;
// Affiche la variable pointée par le pointeur pVal (affiche 5) :
printf ("%d", *pVal);
Voici un exemple complet qui synthétise l'utilisation des pointeurs :
// Programme d'exemple sur les pointeurs
#include <stdio.h>
int main()
{
// Déclare une variable val et lui affecte la valeur 256 et un pointer pVal
int val=256, *pVal;
// On affecte l'adresse de val au pointer pVal
// pVal prend pour valeur l'adresse de val
pVal = &val;
// Affiche la valeur de la variable val (256)
printf ("Variable val = %d\n", val);
// Affiche l'adresse mémoire de la variable val
printf ("Adresse de val = %p\n", &val);
// Affiche l'adresse contenue dans le pointer pVal
printf ("Adresse contenue dans le pointeur pt = %p\n", pVal);
// Affiche la valeur pointée par pVal (ici la variable val, donc 256)
printf ("Valeur pointée par pointeur = %d\n", *pVal);
return 0
}
Ce programme affiche la sortie suivante (notez que les adresses en mémoire peuvent changer) :
Variable val = 256
Adresse de val = 0x7ffd4a9d70dc
Adresse contenue dans le pointeur pt = 0x7ffd4a9d70dc
Valeur pointée par pointeur = 256
En C, un pointeur représente l'adresse d'une variable, c'est-à-dire l'adresse de cette variable dans la mémoire. Il y a quelques notion de syntaxe à connaître pour pouvoir utiliser les pointeurs :
Le caractère *
utilisé à la déclaration permet de déclarer un pointeur :
// Déclare un pointeur vers une variable de type entier
int *pVal;
// Déclare un pointeur vers une variable de type flotant
float *pReal;
Le caractère &
permet de récupérer l'adresse d'une variable (c'est-à-dire un pointeur vers cette variable) :
// On affecte l'adresse de la variable val au pointeur pVal:
pVal = &val;
// On affiche l'adresse de la variable pReal :
printf ("%p", &preal);
Enfin, le caractère *
utilisé hors déclaration permet de manipuler le contenu de la variable pointée par le pointeur :
// On affecte 5 à la variable pointée par pVal (équivalent à val = 5)
*pVal = 5;
// Affiche la variable pointée par le pointeur pVal (affiche 5) :
printf ("%d", *pVal);
Voici un exemple complet qui synthétise l'utilisation des pointeurs :
// Programme d'exemple sur les pointeurs
#include <stdio.h>
int main()
{
// Déclare une variable val et lui affecte la valeur 256 et un pointer pVal
int val=256, *pVal;
// On affecte l'adresse de val au pointer pVal
// pVal prend pour valeur l'adresse de val
pVal = &val;
// Affiche la valeur de la variable val (256)
printf ("Variable val = %d\n", val);
// Affiche l'adresse mémoire de la variable val
printf ("Adresse de val = %p\n", &val);
// Affiche l'adresse contenue dans le pointer pVal
printf ("Adresse contenue dans le pointeur pt = %p\n", pVal);
// Affiche la valeur pointée par pVal (ici la variable val, donc 256)
printf ("Valeur pointée par pointeur = %d\n", *pVal);
return 0
}
Ce programme affiche la sortie suivante (notez que les adresses en mémoire peuvent changer) :
Variable val = 256
Adresse de val = 0x7ffd4a9d70dc
Adresse contenue dans le pointeur pt = 0x7ffd4a9d70dc
Valeur pointée par pointeur = 256
# | ID | Query | URL | Count |
---|