Auteur : Mohamed Messabihi
Matière : Introduction à l'algorithmique k Mohamed.Messabihi@gmail.com
+ https://sites.google.com/site/informatiquemessabihi/
Université Abou Bakr Belkaïd - Tlemcen Faculté des sciences 1ère L.M.D. MI 2014-2015
5 TD : Les pointeurs
5.1 Ce n'est qu'une histoire d'adresses
Montrez l'historique d'exécution détaillé des deux programmes suivants :
1 #include <stdio.h>
23 int main()
4 {
5 int A = 1;
6 int B = 2;
7 int C = 3;
8 int *P1, *P2;
109 P1=&A; 11 P2=&C;
1213 *P1=(*P2) ++;
14 P1=P2;
15 P2=&B; 16 *P1-=*P2;
17 ++*P2;
18 *P1*=*P2; 19 A=++*P2**P1;
20 P1=&A;
21 *P2=*P1/=*P2; 22 return 0;
23 }
1 # include <stdio .h>
2 void toto (int *a, int *b) 3 {4 int c;
5 c = *a ;
6 *a = *b ;
7 *b = c ;
8 }9 void loulou (int *a, int *b) 10 {11 int *c;
12 c = a ;
13 a = b ;
14 b = c ;
15 }16 void main()
17 {18 int n=4, p=8 ;
19 printf (" Avant : n=%d, p=%d\n", n, p);
20 toto(&n, &p) ; 21 loulou (&n, &p) ;
22 printf (" Apres : n=%d, p=%d\n", n, p);
23 }
NB : ++*P2 est équivalent à (*P2)++. Mais attention, sans les parenthèses, l'expression
*P2++ aurait une signication diérente.
5.2 Sphère
1. Écrire une fonction sphere qui prend en paramètre le rayon d'une sphere et qui calcule puis renvoie :
l'aire de cette dernière, sachant que l'aire d'une sphere est égale au carré du rayon multiplié par π et par 4.
son volume, sachant que son volume d'une sphere est égal au cube du rayon multiplié par π et par 4/3.
2. Écrire un programme qui demande à l'utilisateur le rayon r d'une sphere et qui ache son air et son volume en utilisant la fonction sphere.
B Mohamed.Messabihi@gmail.com Page 1