Bonjour,
Voilà j'ai un petit soucis concernant une structure, je souhaiterais ajouter un tableau de chaînes de caractères.
Voici ma structure dans mon fichier.h
1 2 3 4 5 6 7 8 9 10 11 12 13
| #ifndef TEST_H_INCLUDED
#define TEST_H_INCLUDED
typedef struct tab
{
char **table;
int len;
} tab;
void ajouter(tab *tableau, char *ligne);
#endif |
J'ai ensuite créer une fonction ajouter dans mon fichier.c
1 2 3 4 5
| void ajouter(tab *tableau, char *ligne)
{
tableau->table[tableau->len] = ligne;
tableau->len++;
} |
Ma fonction pour créer un nouveau tableau
1 2 3 4 5 6
| tab *create()
{
tab *new = malloc(sizeof(tab));
new->len = 0;
return new;
} |
et un main pour tester
1 2 3 4 5 6 7
| int main(void)
{
tab *T = create();
ajouter(T, "Bonjour");
afficher(T);
return 0;
} |
Apparemment ça bug dans la fonction ajouter, j'ai pas de message d'erreur (ça compile), mais avec gdb, ça stoppe dans la fonction.
Bref il doit y avoir un soucis dans la syntaxe ou une incompréhension de ma part 
Je vous remercie pour votre aide...
P.S Il y a sans doute une autre façon de faire ce genre d'exercice, mais je m'entraîne aux structures.
P.S2 La syntaxe me paraissant la plus logique était
tableau->table[tableau->len][] = ligne;
Mais le compilateur n'a pas aimé
Partager