J'ai une fonction dont l'un des paramètres est un tableau (ou plutôt un pointeur sur un tableau)
int *TAB[20] n'est pas un pointeur sur un tableau, mais un tableau de (20) pointeurs sur int.
int (*TAB)[20] est un pointeur sur un tableau (de 20 int).
En tant que paramètre de la fonction, int *TAB[20] déclare une variable locale TAB du type "pointeur sur le premier élément du tableau" soit un type effectif int **. Note également que le 20 ne sert à rien.
Probablement, tu souhaites passer un tableau d'entier. Dans ce cas, le paramètre peut être :
1 2 3 4 5
| int TAB[]
// ou
int TAB[20] // pervers car le 20 ne sert à rien
// ou
int *TAB |
les deux premiers sont équivalents au troisième (uniquement dans le cas d'un paramètre d'une fonction) qui représente le type effectif de la variable (locale) TAB
1 2 3
| struct data_Simu *p_data_Simu = &p_Simu_swp->data;
....
Analyse (&p_LCP, xxx, Out); |
Pour xxx, j'ai essayé plusieurs trucs (p_data_Simu->TAB_BP, p_data_Simu.TAB_BP, &p_data_Simu->TAB_BP,...)
p_data_Simu est un pointeur sur structure, donc on aura p_data_Simu->...
Si on veut passer le tableau membre TAB_BP, il suffit de
Analyse (&p_LCP, p_data_Simu->TAB_BP, Out);
Partager