A voir également:
- Comprend pas une ligne de programme
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Comment ne pas apparaître en ligne sur whatsapp - Guide
- Aller à la ligne excel - Guide
- Frequence programme national ✓ - Forum Messagerie
- Copiez la ligne indiquant aux moteurs de recherche de ne pas référencer la page. ✓ - Forum Référencement
8 réponses
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
850
19 févr. 2010 à 12:54
19 févr. 2010 à 12:54
a *= b; est équivalent à a = a*b; (en tout cas au niveau du code, mais au niveau de l'exécution la première est un chouillat imperceptible plus rapide)
triplePointeur(&nombre); comme c'est marqué en commentaire, tu envoies l'adresse de nombre à la fonction = tu demandes à la fonction de traiter son adresse (donc pas la valeur de nombre), donc oui.
D'ailleurs, par rigueur, je corrige le commentaire "// On multiplie par 3 la valeur de la variable nombre" qui est faux. Si tu appelles à nouveau la fonction avec une seconde variable toto, triplePointeur(&toto); c'est bien la valeur de variable toto qui sera modifiée.
triplePointeur(&nombre); comme c'est marqué en commentaire, tu envoies l'adresse de nombre à la fonction = tu demandes à la fonction de traiter son adresse (donc pas la valeur de nombre), donc oui.
D'ailleurs, par rigueur, je corrige le commentaire "// On multiplie par 3 la valeur de la variable nombre" qui est faux. Si tu appelles à nouveau la fonction avec une seconde variable toto, triplePointeur(&toto); c'est bien la valeur de variable toto qui sera modifiée.
donc on peut écrire a la place de *pointeurSurNombre *= 3 <==> *pointeursurnombre = pointeursurnombre * 3 ?
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
850
19 févr. 2010 à 13:20
19 févr. 2010 à 13:20
non car ici ton a (de a*=b) correspond à : *pointeurSurNombre
a *= b; est équivalent à a = a * b; ce qui n'est absolument pas a = &a * b;
a *= b; est équivalent à a = a * b; ce qui n'est absolument pas a = &a * b;
zavenger
Messages postés
809
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
159
19 févr. 2010 à 13:20
19 févr. 2010 à 13:20
Presque car si tu prends l'explication de bizu53, (a *= b <==> a = a * b),
dans ton cas a = *pointeursurnombre (*pointeursurnombre correspondant a la valeur de la variable stockée a l'adresse memoire pointeursurnombre )
dans ton cas a = *pointeursurnombre (*pointeursurnombre correspondant a la valeur de la variable stockée a l'adresse memoire pointeursurnombre )
haaaa ok, j'ai compris (enfin j'espere) donc on peut l'écrire *pointeursurnombre = *pointeursurnombre * 3; c'est sa?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
850
19 févr. 2010 à 13:50
19 févr. 2010 à 13:50
Oui :)
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
850
19 févr. 2010 à 14:25
19 févr. 2010 à 14:25
Ce n'est pas réellement compliqué, ça l'est quand on n'a pas de représentation en fait.
Un pointeur n'est rien d'autre qu'une variable qui pointe sur une autre.
Et pour "faire comprendre au code" qu'on veut utiliser la valeur pointée ou pas, on utilise l'étoile ou pas. Et pour "faire comprendre au code" qu'on veut utiliser celle qui pointe sur une valeur donnée(*), on utilise le &. C'est tout :)
*en mémoire, parce que bien sûr il peut y avoir plusieurs pointeurs sur une même variable.
Un pointeur n'est rien d'autre qu'une variable qui pointe sur une autre.
Et pour "faire comprendre au code" qu'on veut utiliser la valeur pointée ou pas, on utilise l'étoile ou pas. Et pour "faire comprendre au code" qu'on veut utiliser celle qui pointe sur une valeur donnée(*), on utilise le &. C'est tout :)
*en mémoire, parce que bien sûr il peut y avoir plusieurs pointeurs sur une même variable.