Retourner un tableau par reference

Résolu
seb2086 Messages postés 96 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 1 février 2010 - 15 juil. 2007 à 10:14
seb2086 Messages postés 96 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 1 février 2010 - 15 juil. 2007 à 14:38
Bonjour,

j'ai une fonction à laquelle je passe en parametre un tableau et je voudrai que la fonction me retourne ce meme tableau masi par reference.

Merci.

4 réponses

katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
15 juil. 2007 à 14:03
Retourner par référence, ça sort d'ou? Soit la fonction retourne un tableau, soit elle modifie un tableau passé en argument par référence.
En passant l'argument par référence on lui passe l'adresse du tableau donc si le tableau est modifié dans la fonction c'est bel et bien le tableau qui est modifié car il n'y a pas de copie locale.

#include <stdio.h>

void foo (char *bar, int n)
{
  int i;
  for (i=0; i<n; i++)
    bar[i]=i+10;
}

int main()
{
  char tab[256];
  int n=3, i;

  foo(tab, n); // remplit le tableau

  // regarde son contenu
  for (i=0; i<n; i++)
    printf("%d %d\n", i, tab[i]);

  getchar();
  return 0;
}
3
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
15 juil. 2007 à 10:34
void MaFonction(MonTableau & _monTab);

_monTab peut etre ici argument d'entrée et/ou de sortie. Donc elle te retourne le tableau par référence.

Sinon ca: je vois pas l'intéret:

MonTableau & MaFonction(MonTableau & _monTab)
{
return _monTab;
}
0
seb2086 Messages postés 96 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 1 février 2010
15 juil. 2007 à 10:51
Merci,

mais en fait je comprends pas trop ton exemple.

j'ai un tableau tab[256] que je veux faire passer dans la fonction et qui me retourne ce tableau par reference.
0
seb2086 Messages postés 96 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 1 février 2010
15 juil. 2007 à 14:38
Merci pour vos reponses
0
Rejoignez-nous