Pointeur...
Résolu
CherryBlondy
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je me tourne à nouveau vers vous pour un p'tit problème ^^
voilà dans un sous programme je declare un pointeur du type int *a
et j'imerais que lorsque je retroune dans le main je lui affecte la valeur de b.
le problème c'est que dans mon sous programme lorsque j'écrit :
*a = b;
sachant que dans moin main j'appelle la procédure en placant &a dans les paramètres.
bah il aime po =( et si j'enlève l'étoile, il aime mais là, c'est moi qui aime pas puisqu'il me renvoie pas la valeur de b du le sous pogramme.
J'espère avoir était assez clair.
d'avance merci beaucoup
bonne soirée =)
Je me tourne à nouveau vers vous pour un p'tit problème ^^
voilà dans un sous programme je declare un pointeur du type int *a
et j'imerais que lorsque je retroune dans le main je lui affecte la valeur de b.
le problème c'est que dans mon sous programme lorsque j'écrit :
*a = b;
sachant que dans moin main j'appelle la procédure en placant &a dans les paramètres.
bah il aime po =( et si j'enlève l'étoile, il aime mais là, c'est moi qui aime pas puisqu'il me renvoie pas la valeur de b du le sous pogramme.
J'espère avoir était assez clair.
d'avance merci beaucoup
bonne soirée =)
A voir également:
- Pointeur...
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Le pointeur de mon pc portable ne marche plus - Guide
- Pointeur laser publicitaire ✓ - Forum Loisirs / Divertissements
- Pointeur souris avec rond de chargement qui clignote sans arrêts ✓ - Forum Windows
2 réponses
Bonjour CherryBlondy,
Crée ton pointeur dans ton main, passe ensuite son adresse (&a) à ton sous-programme (pas besoin de le retourner), en principe ça devrait fonctionner.
Cordialement,
Crée ton pointeur dans ton main, passe ensuite son adresse (&a) à ton sous-programme (pas besoin de le retourner), en principe ça devrait fonctionner.
Cordialement,
void exemple(int *hauteur, int *largeur)
{
//declaration des variables
int lig, col;
scanf("%dX%d", hauteur, largeur);
lig = *hauteur;
col = *largeur;
}
dans mon main :
int *largeur, *hauteur;
exemple(&hauteur, &largeur);
Quelle HORREUR !!!
dans le main largeur et hauteur son des pointeurs. lors de l'appel de l'exemple, tu passes l'adresse de ces pointeurs, soit un truc similaire à des int**.
Il faut raisonner en type. Il faut bien voir qu'un pointeur est une variable comme une autre, il a juste un rôle particulier avec l'opérateur * ou [].
Largeur et hauteur sont des variables, et leur type est (int*) c'est à dire que largeur est une variable qui contient une adresse mémoire d'un champ de type int.
{
//declaration des variables
int lig, col;
scanf("%dX%d", hauteur, largeur);
lig = *hauteur;
col = *largeur;
}
dans mon main :
int *largeur, *hauteur;
exemple(&hauteur, &largeur);
Quelle HORREUR !!!
dans le main largeur et hauteur son des pointeurs. lors de l'appel de l'exemple, tu passes l'adresse de ces pointeurs, soit un truc similaire à des int**.
Il faut raisonner en type. Il faut bien voir qu'un pointeur est une variable comme une autre, il a juste un rôle particulier avec l'opérateur * ou [].
Largeur et hauteur sont des variables, et leur type est (int*) c'est à dire que largeur est une variable qui contient une adresse mémoire d'un champ de type int.
merci déjà pour ton aide =)
void exemple(int *hauteur, int *largeur)
{
//declaration des variables
int lig, col;
scanf("%dX%d", hauteur, largeur);
lig = *hauteur;
col = *largeur;
dans mon main :
int *largeur, *hauteur;
exemple(&hauteur, &largeur);
Regarde mon exemple plutôt :
Quand tu passes une variable par pointeur, tu n'as pas besoin de la retourner par ta fonction car c'est la variable elle-même qui est modifiée dans le sous-programme (c'est un peu comme si tu étendais la portée de la variable). Ici tu vois bien que dans la fonction getValues, on stocke les valeurs entrées par l'utilisateur dans l et h. Sans retourner ces valeurs, on y a accès depuis la fonction main (on affiche les nouvelles valeurs avec printf).
Cordialement,