Bon, si je comprend, tu veux faire un tableau de noms. Mais chaque nom est lui même un tableau de char.
Donc le tableau de noms est :
- un tableau de tableau de char
- ou un tableau contenant l'adresse des tableaux de char qui contiennent les noms.
La deuxième forme est plus souple et adaptée si on ne connaît pas à priori la longueur des noms ou le nombre de noms :
- Créer un tableau de pointeurs sur char.
- Pour chaque nouveau nom
- Allouer dynamiquement un tableau de char de longueur suffisante pour stocker le nom + le zero terminal
- Copier le nom dans ce tableau
- Ajouter l'adresse de ce tableau dans le tableau de pointeurs
- si le tableau de pointeurs est plein :
- il a été alloué dynamiquement et il suffit de le redimensionner en plus grand et de continuer
- sinon, c'est foutu, on ne peut plus ajouter de noms
- Prévoir les échecs d'allocation dynamique et la récupération de la mémoire allouée dynamiquement lorsqu'on n'en a plus besoin.
Partager