Rechercher : dans
Par :

Passage par reference en c

Dernière réponse le 28 mai 2008 à 08:42:44 sami, le 27 mai 2008 à 22:42:56 
 Signaler ce message aux modérateurs

Bonjour,
la difference entre le passage par reference et le pointeur

Configuration: Windows XP
Internet Explorer 7.0

1

mamiemando, le 27 mai 2008 à 22:47:08

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

Répondre à mamiemando

2

lami20j, le 27 mai 2008 à 22:55:40

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
106485010510997108

Répondre à lami20j

3

 mamiemando, le 28 mai 2008 à 08:42:44

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

Répondre à mamiemando
Collection CommentÇaMarche.net