Passage par adresse et par valeur
Fermé
ismailzr99
Messages postés
4
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
11 mars 2018
-
11 mars 2018 à 18:21
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 11 mars 2018 à 19:51
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 11 mars 2018 à 19:51
A voir également:
- Passage par valeur et passage par adresse
- Nom de l'adresse ✓ - Forum Réseaux sociaux
- Rechercher ou entrer l'adresse - Guide
- Darkino nouvelle adresse - Guide
- Passage qwerty azerty - Guide
- Chronopost pas d'avis de passage ✓ - Forum Vos droits sur internet
1 réponse
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
11 mars 2018 à 18:39
11 mars 2018 à 18:39
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 :
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
11 mars 2018 à 18:53
11 mars 2018 à 19:51