Académique Documents
Professionnel Documents
Culture Documents
Exercice 01
Indiquez les valeurs des différentes variables au terme des différentes instructions :
Exercice 02
Que fait le programme suivant?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
int *x,*y;
a=90;
x=&a;
printf("%d contenu de x ", *x);
*x=100;
printf("% d a vaut", a);
y=x;
*y=80;
printf("% d a vaut", a);
return 0;
}
1
Exercice 03
Supposons qu’on écrire une procedure « Decouper_heure »à laquelle on envoie un nombre
de minutes. Celle-ci renverrait le nombre d'heures et minutes correspondantes :
Ecrire cette procédure qui réalise ce travail en utilisant deux pointeurs pointeurHeures,
pointeurMinutes
2
Solution de fiche de TP 02
Exercice 01
Il faut juste ajouter des instructions d’affichage pour les différentes variables (p, q,*p,*q)
A la fin du programme
Exercice 02
Explications
Dans cet exercice, on définit un entier a et deux pointeurs vers des entiers x et y.
a est initialisée à la valeur 90.
Après l'instruction x=&a, x pointe vers a. x contient l'adresse en mémoire où est
stockée la variable a.
L'instruction *x=100; modifie le contenu de la variable a et met la valeur 100 dans
cette variable.
L'instruction y=x copie le pointeur x dans le pointeur y. Après cette instruction, les
deux pointeurs x et y pointent vers la même variable a.
Lorsqu'on écrit *y=80, on modifie alors le contenu de la variable a qui vaut alors 80.
On voit donc sur cet exemple qu'un pointeur permet de modifier indirectement le
contenu d'une variable.
Exécution
Lorsqu'on exécute le programme voici ce qu'on obtient à l'écran :
90
a vaut : 100
a vaut : 80
Exercice 03
void decoupeMinutes(int* pointeurHeures, int* pointeurMinutes);
return 0;
3
}