Passage par adresse et par valeur
ismailzr99
Messages postés
5
Statut
Membre
-
Dalfab Messages postés 638 Date d'inscription Statut Membre Dernière intervention -
Dalfab Messages postés 638 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde j'ai un probleme je fais ppas la difference entre le passage par adresse et par valeur et quand l'utiliser
Merci d'avance
Merci d'avance
1 réponse
-
Bonjour,
En réalité, en C le passage se fait toujours par valeur. Si le paramètre a le type pointeur, on peut lui passer l'adresse d'une variable ou bien un pointeur du même type.
Comme on ne peut passer que des valeurs, la fonction ne reçoit qu'une copie et ne peut donc jamais modifier la variable initialement transmise. Heureusement, il y a les pointeurs. En déréférençant le pointeur (l'étoile mise devant), qui contient adresse on va pouvoir accéder à la variable initiale.
Exemple :int x = 42; printf( "%d" , x ); // printf n'a besoin que de la valeur scanf( "%d" , &x ); // scanf a besoin de l'adresse, sinon il ne pourrait modifier la valeur de x