Pour la ligne de code dont tu parles, je pensais avoir tout précisé plus haut, mais je vais te rassurer.
Cette ligne de code provient de la fonction suivante :
- Code: Select all
void strlist_append(strlist* list, char *chaine)
{
char** tmp;
if (pow(2, list->capacity)==list->len)
{
list->capacity++;
tmp = err_realloc(list->tab, pow(2, list->capacity)*sizeof(char*));//réallocation de list.tab
list->tab = tmp;//affectation du pointeur de tmp vers list.tab
}
list->tab[list->len]=chaine;
list->len++;
}
Comme tu peux le voir, juste après la ligne en question j'incrémente la longueur de la liste. Le code juste au dessus garantit de toute façon que le tableau est de la bonne taille.
Ensuite, je ne vois absolument pas pourquoi je ne pourrais pas assigner un char* à un autre char*. Ca fonctionne parfaitement bien.