Pointeur
Discutez d'informatique ici !
-
samirou
- Membre Relatif
- Messages: 166
- Enregistré le: 06 Fév 2012, 22:55
-
par samirou » 19 Nov 2014, 15:01
Bonjour, pouvez vous m'aider pour réaliser ce problème
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;
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 19 Nov 2014, 16:26
salut,
prends un compilateur et testes!!
la vie est une fête

-
Cliffe
- Membre Rationnel
- Messages: 967
- Enregistré le: 12 Juin 2012, 13:25
-
par Cliffe » 19 Nov 2014, 16:30
fatal_error a écrit:salut,
prends un compilateur et testes!!
ahah :lol3:
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 20 Nov 2014, 08:37
Bonjour,
Ce qu'il faut retenir des pointeurs :
- Code: Tout sélectionner
int a = 5;
int *p = NULL;
p = &a; // On fait pointer p sur l'adresse de a
// (*p = 5) On affiche la valeur contenue à l'adresse où pointe p
printf("%d", *p);
/* On modifie la valeur contenue à l'adresse où pointe p,
or comme p pointe sur l'adresse de a, alors on a modifié la valeur de a */
*p = 8;
printf("%d", a); // (a = 8)
Avec cela tu as normalement tout ce qu'il te faut répondre par toi-même.
-
kelthuzad
- Membre Relatif
- Messages: 400
- Enregistré le: 23 Avr 2014, 11:08
-
par kelthuzad » 23 Nov 2014, 16:11
Salut,
Je te conseille de faire un tableau avec en colonne les variables, a, b, c, p1, p2, p3 et à chaque instruction tu remplis une nouvelle ligne du tableau avec le(s) nouvelle(s) valeur(s) qui ont changé, pour les pointeurs plutôt que d'écrire une valeur (qui est en fait l'adresse) tu peux écrire "adresse de ..."
Précision : si dans p2 il y a l'adresse de a (càd &a)
alors *p2 = x aura pour effet de ranger x dans a.
De même si dans p2 il y a &a et que *p2 est utilisé à droite d'une affectation (le =) alors *p2 aura la même valeur que a, autrement dit écrire a serait revenu au même, tant que &a est dans p2 !
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités