Probleme de pointeur
Résolu
NIGEL
-
progfann Messages postés 365 Date d'inscription Statut Membre Dernière intervention -
progfann Messages postés 365 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai compris en gros comment fonctionne un pointeur et a quoi il sert MAIS je n'arrive pas a integrer l'idée
du fonctionnement "scanf"
en effet par exemple;
scanf("%d", &n);
la valeur que l'on va entrer deviendra si j'ai compris l'adresse de n
OR je ne vois pas comment a partir de ça on peut modifié n grace a la fonction scanf
si quelqu'un a la patience et le courage de m'expliquer je lui saurai trés reconnaissant.
merci
j'ai compris en gros comment fonctionne un pointeur et a quoi il sert MAIS je n'arrive pas a integrer l'idée
du fonctionnement "scanf"
en effet par exemple;
scanf("%d", &n);
la valeur que l'on va entrer deviendra si j'ai compris l'adresse de n
OR je ne vois pas comment a partir de ça on peut modifié n grace a la fonction scanf
si quelqu'un a la patience et le courage de m'expliquer je lui saurai trés reconnaissant.
merci
A voir également:
- Probleme de 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
3 réponses
si je me souvien bien, ca modifi n (n écrit en char* n) et pour utiliser ensuite, tu utilise sont adresse, il me semble
Salut.
scanf est une fonction C. En C, il n'y a pas de passage par référence, mais des passage par valeur.
Donc, si tu veux modifier une variable, il faut passer un pointeur.
En gros, le proto de scanf :
int scanf(const char*s,void* v)
Si dans 's' scanf voi un d, il sais que v est un entier, il fait donc :
int*i;
i=v.
Ensuite il peux modifier la valeur en fesaant *i=... (ce qui a été lu)
Si sont prototype avait été int scanf(const cahr*, int v)
Le passage par copie veux dire qu'au sein de scanf une nouvelle variable est créé prenant comme valeur la valeur donné en paramètre lors de l'appel. Cette variable v étant locale à la fonction, celle passer en argument ne sera pas modifier.
scanf est une fonction C. En C, il n'y a pas de passage par référence, mais des passage par valeur.
Donc, si tu veux modifier une variable, il faut passer un pointeur.
En gros, le proto de scanf :
int scanf(const char*s,void* v)
Si dans 's' scanf voi un d, il sais que v est un entier, il fait donc :
int*i;
i=v.
Ensuite il peux modifier la valeur en fesaant *i=... (ce qui a été lu)
Si sont prototype avait été int scanf(const cahr*, int v)
Le passage par copie veux dire qu'au sein de scanf une nouvelle variable est créé prenant comme valeur la valeur donné en paramètre lors de l'appel. Cette variable v étant locale à la fonction, celle passer en argument ne sera pas modifier.
QUELQU'UN POURRAI T'IL ME FOURNIR LES METHODES DE SCANF SVP je pense que ca pourrai m'aider a y voir plus clair...
ca me rend fou!!!
HELP!!!!!!
bonne chance.
si j'ai bien compris( en refaisant un tour dans mes bouquin)
il est impossible de modifié une adresse de cette façon ?; &nombre= 15
j'ai essayé avec mon compilateur ca ne marche pas.