A voir également:
- Passage par valeur et par adresse en c
- Adresse mac - Guide
- Darkino nouvelle adresse - Guide
- Nom de l'adresse ✓ - Forum Réseaux sociaux
- Changer adresse dns - Guide
- Comment voir une adresse par satellite - Guide
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 :
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
ismailzr99
Messages postés
5
Statut
Membre
Merci donc pour conclure on peut jamais modifier la variable initiale par le passage par valeur
Dalfab
Messages postés
720
Statut
Membre
101
Tout à fait. Y compris quand on veut modifier un tableau, le nom du tableau est passé et le tableau est modifiable; en réalité le nom du tableau est directement associé à un pointeur sur le 1er élément.