Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

pointeur

Posté par
smir
19-11-14 à 16:20

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;

Posté par
carpediem
re : pointeur 19-11-14 à 16:49

salut

peut-être faudrait-il expliquer ce que signifie ::

p1 = &c
*p1 = *p2 + 3

....

Posté par
smir
re : pointeur 19-11-14 à 17:08

p1 = &c
*p1 = *p2 + 3

On m'a donné l'énoncé comme ça. En tous cas & c'est ET COMMERCIAL

Posté par
amateur
re : pointeur 19-11-14 à 17:22

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 :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !