-
test = malloc(sizeof(test)*Taille tableau + 1);
est incorrect :
test = malloc(sizeof(*test)*Taille tableau + 1);
Pour la suite, je suppose que param est correctement initialisé et que c'est un tableau de pointeurs sur des chaines de caractères.
-
1 2
| test[i] = malloc(sizeof(char)*(strlen(param[i])+1));
test[i] = param[i]; |
La deuxième ligne écrase la valeur retournée par le malloc. On ne copie pas un tableau simplement avec le signe =. Accessoirement, sizeof(char) vaut toujours 1
1 2
| test[i] = malloc(strlen(param[i])+1);
if(test[i] != NULL) strcpy(test[i] , param[i]); |
-
Vu que test[i] est une adresse, il est préférable d'écrire
Partager