• # Merci

    Posté par . 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()...

    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 » ?