[C++]Passage de variable pointeur
teebo
Messages postés
33491
Date d'inscription
Statut
Modérateur
Dernière intervention
-
maily Messages postés 7556 Date d'inscription Statut Contributeur Dernière intervention -
maily Messages postés 7556 Date d'inscription Statut Contributeur Dernière intervention -
Salut tout le monde
Je me replonge en ce moment dans le C++ (merci CCM :o) ) et je vois ca:
Hors, arretez moi si je me gourationne, mais b est un pointeur et la fonction Ajout2 prend un pointeur en parametre, jusque la j'ai bon non? Alors pourquoi passer a Ajout2 non pas le pointeur b directement mais sa valeur? Ou alors j'ai loupe une ligne et la declaration dans l'en tete de la fonction veux juste dire "Prend le pointeur de la variable que l'on te passe" auquel cas la question est:
1-Pourquoi declare int * b et non int b
2-Comment faire quand on veut passer un pointeur a une fonction (donc ici directement b)
3-Pourquoi je pose 3 question quand je dis que LA question est? :-D
Merci :o)
. .
\_/
Je me replonge en ce moment dans le C++ (merci CCM :o) ) et je vois ca:
int Ajout2(int * a){
*a +=2;
}
int * b = 3;
Ajout2(&b);
Hors, arretez moi si je me gourationne, mais b est un pointeur et la fonction Ajout2 prend un pointeur en parametre, jusque la j'ai bon non? Alors pourquoi passer a Ajout2 non pas le pointeur b directement mais sa valeur? Ou alors j'ai loupe une ligne et la declaration dans l'en tete de la fonction veux juste dire "Prend le pointeur de la variable que l'on te passe" auquel cas la question est:
1-Pourquoi declare int * b et non int b
2-Comment faire quand on veut passer un pointeur a une fonction (donc ici directement b)
3-Pourquoi je pose 3 question quand je dis que LA question est? :-D
Merci :o)
. .
\_/
A voir également:
- [C++]Passage de variable pointeur
- Passage qwerty azerty - Guide
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Test passage windows 11 - Guide
- Passage à windows 11 gratuit - Guide
11 réponses
il me semble que tu te gourationnes oui!!
pour moi, dans la ligne
on passe l'adresse de b! non?
Maily :-))))
pour moi, dans la ligne
ajout2(&b)
on passe l'adresse de b! non?
Maily :-))))
Bon oui, tu as raison, mais alors si je comprend bien, b est un pointeur, on passe l'adresse de b a une fonction qui en prend l'adresse, soit a est l'adresse de l'adresse du pointeur b...Ca fait beaucoup ca non?
. .
\_/
. .
\_/
Oui, il plante ton programme!!
Tu passes un double pointeur dans
pour que ça marche, il faut mettre
Maily :-))))
Tu passes un double pointeur dans
ajout2(&b)
pour que ça marche, il faut mettre
ajout2(b)
Maily :-))))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
:-S C'est pas mon programme, c'est celui du tuto de Jeff :-S
Il me semblait bien qu'il y avait un truc pas net...
. .
\_/
Il me semblait bien qu'il y avait un truc pas net...
. .
\_/
Salut a toutes et a tous,
Biensur que c'est bon , c'est maily qui a raison, tu passes l'adresse, et b vaut 5 apres, ca evite de faire retourner une valeur a la fonction Ajout2.
A+
Biensur que c'est bon , c'est maily qui a raison, tu passes l'adresse, et b vaut 5 apres, ca evite de faire retourner une valeur a la fonction Ajout2.
A+
C'est bon seulement si tu écris
sinon, tu envoie un pointeur sur un pointeur à une fonction qui demande juste un pointeur!!
Maily :-))))
ajout2(b)
sinon, tu envoie un pointeur sur un pointeur à une fonction qui demande juste un pointeur!!
Maily :-))))
Que vois je que vois je !!! Vous n'avez pas vu l'aberration ?!?
Ca, pas être du tout du tout du tout du tout correct :) Où vous avez vu qu'on pouvait s'amuser à jouer avec un pointeur comme ça?
Vous l'aviez pas vu celle là ?
@++
Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?
int * b = 3;
Ca, pas être du tout du tout du tout du tout correct :) Où vous avez vu qu'on pouvait s'amuser à jouer avec un pointeur comme ça?
Vous l'aviez pas vu celle là ?
@++
Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?