Problème de compréhension de scanf
Bonjour,
Alors voila j'ai une question très simple et je n'arrive pas à trouver de réponse convaincante:
dans cet exemple :
Code:
1 2 3
| long age = 0;
scanf("Veuillez entrer un nombre %ld", &age): |
Pourquoi faut-il fournir l'adresse de la variable "age", pourquoi faut-il le faire précéder du signe '&' ?
Cela me gêne parce que par exemple pour fgets nous n'avons pas besoin de fournir d'adresse :
Code:
fgets(chaine, TAILLE_MAX, fichier);
Ici on lit maximum TAILLE_MAX caractères du fichier et on stocke le tout dans "chaine" sans pour autant fournir l'adresse de "chaine".
Dans beaucoup de situation on ne fournit pas d'adresse et je trouve ça logique car j'interprète cela comme une affectation.
J'ai lu que ce '&' est nécessaire pour pouvoir ranger correctement l'information dans "age" mais je ne considère pas ça comme une réponse suffisante, car dans ce cas là, la morale est qu'il faut l'utiliser partout...
Voila donc si quelqu'un pouvait m'expliquer l'intérêt de fournir l'adresse à scanf, ça ferait un peu d'ordre à toutes les questions que je me pose.
Merci d'avance !
Raiden.