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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
tab *create()
{
    tab *new = malloc(sizeof(tab));
    new->len = 0;
    return new;
}
et un main pour tester

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
tableau->table[tableau->len][] = ligne;
Mais le compilateur n'a pas aimé