Bonjour, pouvez vous m'aider pour cet exercice je ne comprends pas du tout
Soient les déclarations suivantes:
int a, b=5, c, d=3;
int * p1, * p2, * p3;
Donnez les valeurs finales des variables a, b, c et d après l'exécution des instructions suivantes:
p2 = &a;
* p2 = d *2;
p2 = &b;
p1 = &c;
* p1 = *p2+3;
p3 = p1;
p1 = p2;
Bonjour,
int a, b=5, c, d=3;
se comprend comme ceci:
l'entier a possède comme adresse &a et comme valeur 0 (selon les compliateurs),
b a pour adresse &b et pour valeur 5.
int * p1, * p2, * p3;
p1 est un pointeur qui pointe une zone mémoire représentant un entier
p2=&a signifie le pointeur indique l'adresse de l'entier a,
*p2 signifie la valeur pointée par p2 (ici 0 car a)
* p2 = d *2;
comme d vaut 3, d*2 vaut 6
l'entier pointé par p2 prendra donc la valeur 6
(en résumé: on a effectué l'affectation a=6)
p2 = &b;
p1 = &c;
* p1 = *p2+3;
comme b vaut 5
et que p1 pointe l'entier c,
on aura l'affectation c=5+3 c.a.d 8.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :