J'ai effectivement utilisé a, b et c comme noms de variables en ayant bien conscience que le a de main() n'est pas le a de add()...
Mais dans le cas présent, ce que tu passes en troisième paramètre est littéralement « l'adresse de la variable c ». Puisque « c » est un entier, l'information en question est donc forcément un « pointeur sur un entier », d'où la manière de rédiger le prototype de add.
Dire c pointera sur l'entier résultat de a+b ressemblerai plus à :
c = &(a+b);
Je crois que j'ai compris.
Sauf :
Mais sans avoir tester la syntaxe, le problème est que la valeur résultat risque d'être déférencer et donc c pointera une case non valide en mémoire.
Bon, c'est « testé » et « déréférencé » ? Mais pourquoi c pointerait sur une « case non valide » ?
# Merci
Posté par Marotte ⛧ . En réponse au message Passage par référence. Évalué à 2.
Merci pour vos explications.
J'ai effectivement utilisé a, b et c comme noms de variables en ayant bien conscience que le a de main() n'est pas le a de add()...
Je crois que j'ai compris.
Sauf :
Bon, c'est « testé » et « déréférencé » ? Mais pourquoi c pointerait sur une « case non valide » ?