Manipulation d'un tableau de pointeurs
Bonjour,
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #include <stdio.h>
void addValue(char *pTab[], int length, char ajout[]) {
/* cette fonction ajoute une nouvelle valeur en fin de liste d'un tableau*/
int i=0;
char *nTab[length+1];
for (i=0; i < length; i++) {
nTab[i] = pTab[i];
}
nTab[length] = ajout;
pTab = nTab;
}
int main(int argc, char** argv)
{
char *pItem[] = { /* initialisation du tableau de pointeurs */
"bijoux",
"chambre",
"mobilier",
"montagne",
"lit",
};
int length = 5;
char ajout[] = "fusil";
addValue(pItem, length, ajout);
printf("%s\n", pItem[6]);
return 0;
} |
dans ce petit programme je représente un tableau de chaînes par un tableau, à une dimension, de pointeurs (afin d'optimiser l'occupation de la mémoire). Cependant je n'arrive pas à le manipuler en l'envoyant à une fonction. Ainsi l'instruction:
Code:
printf("%s\n", pItem[6]);
renvoit des symboles incompréhensibles... Existe-t-il une solution ?
Merci d'avance :)