Passage par reference en c

sami -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
la difference entre le passage par reference et le pointeur
A voir également:

3 réponses

mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
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
4
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

c'est la même chose
en revanche tu as le passage par valeur qui est différent

voici une exemple
lami20j@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
3
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
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
0