• # Ça dépend...

    Posté par . En réponse au message structure dans une fonction sans pointeur. Évalué à 7.

    L'intérêt de l'usage de pointeurs dépends de plusieurs choses:

    • si tu veux que de potentielles modifications soient vues par la fonction appelante, c'est obligatoire;
    • si ta structure est plus petite ou de la même taille qu'un pointeur, et que tu ne veux pas utiliser le paramètre comme une sortie, c'est inutile, le passage par valeur est plus efficace;
    • tu peux vouloir passer une structure que tu modifieras localement dont le coût de construction serait plus élevé que le coût de copie, dans ce cas, le passage par valeur est mieux;
    • dans le cas ou tu veux juste passer une grosse structure en lecture seule, passer un pointeur vers une valeur constante est souvent le mieux;
    • il y a aussi, en C, le cas de la valeur optionnelle: passer un pointeur NULL permets de simuler une valeur optionnelle;

    D'autres expliqueront sûrement mieux que moi, ou ajouterons d'autres cas auxquels je n'ai pas pensé.