Pourriez vous m'expliquer la chose suivante :
Je dispose du programme suivant :
#include
#include
void decoupeMinutes(int heures, int minutes);
int main(int argc, char *argv[])
{
int heures = 0, minutes = 90;
/* On a une variable minutes qui vaut 90.
Après appel de la fonction, je veux que ma variable
"heures" vaille 1 et que ma variable "minutes" vaille 30 */
decoupeMinutes(heures, minutes);
printf("%d heures et %d minutes", heures, minutes);
return 0;
}
void decoupeMinutes(int heures, int minutes)
{
heures = minutes / 60; // 90 / 60 = 1
minutes = minutes % 60; // 90 % 60 = 30
}
On me dit la chose suivant :
... Quand vous « envoyez » une variable à une fonction, une copie de la variable est réalisée. Ainsi, la variable heures dans la fonction decoupeMinutes n'est pas la même que celle de la fonction main ! C'est simplement une copie !
Que signifie le mot "copie" dans cette citation ?
Si la variable à lintérieur de la fonction n'est qu'une copie de la variable de la fonction "main", qu'est ce que ça change concrètement ?
Merci d'avance. :happy3: