cs_Adeon
Messages postés293Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention10 avril 2015
-
14 mai 2004 à 19:58
cs_Adeon
Messages postés293Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention10 avril 2015
-
15 mai 2004 à 11:47
salut ! je suis en train de creer une fonction qui doit inclure un tableau 2d dont on ne connait pas les valeurs.
si je fais :
void fonction(char *tab)
{
//code
}
ca marche pas car la fonction pointe vers un tableau 1D.
cs_Adeon
Messages postés293Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention10 avril 20152 14 mai 2004 à 22:43
En fait ca marche pas parceque ma fonction, je veux la placer dans un header donc, a l'origine on a un tableau tab[3][4] par exemple et je veux que quand on face
fonc(tab); quel que soit la taille x ou y la fonction soit capable de retrouver la taille de ce tableau pour travailler decu apres. Je veux eviter en fait de faire une intro de fonction dans le genre void fonc(char tab[99999][99999]) qui soit vraiment lourd.
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 14 mai 2004 à 23:05
void fonc(char tab[99999][99999]) ? ca sera jamais une solution ca
quand tu passe un tableau 2d en parametre, c'est pas necessaier de preciser le nombre de ligne, sa taille est connu et il est donc deductible à partir du nombre de colonne (SIZE_T / (sizeof tab / sizeof (*tab) )
et c'est pourquoi il faut preciser le nombre de colonnes
si tu ve prendre un tableau 2d en parametre sans connaitre le nombre de colonne (donc sans connaitre la taille) tu est obligé de passer par un pointeur et de passer le nombre de colonnes en parametre pour pouvoir retrouver les indexes
char tab[3][4];
void func(char *tab, size_t size, size_t nbCol)
{
char c;
/* par ex, pour recupere la valeur de l'indice 1,2 */
c=tab[1+2*nbCol];
}
...
func( (char *)tab)
Vous n’avez pas trouvé la réponse que vous recherchez ?