Passage par reference en c
Bonjour,
la difference entre le passage par reference et le pointeur
la difference entre le passage par reference et le pointeur
Configuration: Windows XP Internet Explorer 7.0
3 réponses
-
Tu peux essayer de faire des phrases, c'est quand même le minimum :-(.
Accessoirement les références existent en C++ mais pas en C.
Bonne continuation -
Salut,
c'est la même chose
en revanche tu as le passage par valeur qui est différent
voici une exemplelami20j@debian:~/trash$ cat passage.c #include<stdio.h> void passage_valeur(int N); void passage_adresse(int *N); int main() { int N=10; passage_valeur(N); printf("Dans main N = %d\n",N); passage_adresse(&N); printf("Dans main N = %d\n",N); return 0; } void passage_valeur(int N){ N = 2*N; printf("Dans passage_valeur N = %d\n",N); } void passage_adresse(int *N){ *N = 2 * *N; printf("Dans passage_adresse N = %d\n",*N); } lami20j@debian:~/trash$ gcc passage.c lami20j@debian:~/trash$ ./a.out Dans passage_valeur N = 20 Dans main N = 10 Dans passage_adresse N = 20 Dans main N = 20 -
Une référence peut être vue comme un pointeur mais contrairement à un pointeur :
- elle doit être initialisée
- les champs de l'objet passé par référence se manipule avec "." et non "->", comme si on avait passé l'objet par recopie