Passage d'un Tab 2D a une sous fonction

perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006 - 8 juin 2004 à 07:47
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006 - 9 juin 2004 à 19:23
salut
j'ai un tab 2D définit comme suit
typedef long double doubleType;
typedef struct
{
doubleType real;
doubleType imag;
}complex;
typedef struct
{
complex val;
doubleType x;
doubleType y;
}info;
info tab[dim][dim];

je voudrait le passer a une sous fonction.
comment faire?

ca:
extractinfo(&(tab[0][0]));

prototype : void extractinfo(info * tab[dim][dim]);

camarche pas. Pourquoi?

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)

4 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
8 juin 2004 à 09:04
exemple de code !

int coucou(char **sC);

appel de cette fonction :

char sCoucou[10][15];
...
coucou(sCoucou);

Tout simplement

++

Alhexman
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
8 juin 2004 à 09:58
Merci je note tout ca
Finalement on a pris une liste chainé de fou, c'est plus évolutif !!!
Mais les tab 2D ca revient souvent et je savais pas faire...
Merci encore

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
9 juin 2004 à 13:01
pour passer un tableau static (dont les dimension est connue)

=> la 1ère dimension n'est pas à spécifier mais la seconde OUI
void coucou(char tab[][50])
{
..
}

utilisation
char tab[100][50];
coucou(tab);

pour des tableaux dynamique, il faut passer les dimensions à la fct (car elle ne les connait pas, surtout dim2)
void coucou(char** tab, int dim1 int dim2)
{
}

utilisation :
int dim1=100;
int dim2=50;
char** tab =new char*[dim1];
for(int i = 0; i < dim1; i++)
tab[i] = new char[dim2];

couccou(tab, dim1, dim2);

destruction:
for(int i = 0, i < dim1; i++)
delete[] tab[i];
delete[] tab;
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
9 juin 2004 à 19:23
Merci merci lol

Je viens de voir le bout de mon projet, j'ai finalement utilisé un malloc d'un espace mémoire pour stocker des structures avec toutes mes infos..

Mais comme je l'ai déjà dis, tout ceci me servira bien un jours ou même a qqn. d'autre

Encore merci!!!! ;)
---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
Rejoignez-nous