Passage par valeur vs. passage par référence #include <stdio.h> #define MAX_SOLDE_COMPTE 3000 // Fonction avec passage de tous les paramètres par valeur bool simulerCreditCompte(int soldeCompte, int sommeArgent) { bool resultat; if (soldeCompte <= MAX_SOLDE_COMPTE) { soldeCompte = soldeCompte + sommeArgent; printf("=> Solde du compte après simulation : %d\n", soldeCompte); resultat = true; } else { resultat = false; } return resultat; } // Fonction avec passage d'un paramètre par variable/pointeur(/référence) bool crediterCompte(int * soldeCompte, int sommeArgent) { bool resultat; if (*soldeCompte <= MAX_SOLDE_COMPTE) { *soldeCompte = *soldeCompte + sommeArgent; printf("=> Solde du compte après opération de crédit : %d\n", *soldeCompte); resultat = true; } else { resultat = false; } return resultat; } int main() { int solde = 500; bool isSimulationCreditOK = false; bool isCreditOK = false; printf("Mon solde avant de la simulation de crédit : %d\n", solde); isSimulationCreditOK = simulerCreditCompte(solde, 300); printf("Mon solde après la simulation de crédit : %d\n\n", solde); printf("Mon solde avant l'opération de crédit : %d\n", solde); isCreditOK = crediterCompte(&solde, 300); printf("Mon solde après l'opération de crédit : %d\n", solde); return 0; } Mon solde avant de la simulation de crédit : 500 => Solde du compte après simulation : 800 Mon solde après la simulation de crédit : 500 Mon solde avant l'opération de crédit : 500 => Solde du compte après opération de crédit : 800 Mon solde après l'opération de crédit : 800 🞄 🞄 🞄 C/C++ La suite d’outils GCC