voilà pour un tp de structure de données je dois implementer les b-arbres en C.

voici la strcuture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
typedef struct {
        int val;
        struct b* fils;
} TVAL;
 
typedef struct b{
        int nbVal;
        struct b* premierfils;
        TVAL TabVal[4];
        } NOEUD;
 
typedef NOEUD *ARBRE;

et mon main :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
int main(){
ARBRE b = (ARBRE)malloc(sizeof(NOEUD));
int i=3;
b->premierfils=NULL;
b->TabVal[0].val = 5;
b->TabVal[1].val = 6;
b->nbVal=3;
b->premierfils->TabVal[0].val = 1;
 
Affiche(b);
system("pause");          
return 1;
}
le pbm se situe au niveau de

Code : Sélectionner tout - Visualiser dans une fenêtre à part
b->premierfils->TabVal[0].val = 1;
à mon avis il faudrai allouer de la mémoire pour premierfils
j'ai tenté avec (b*)malloc<etc...> ça marche pas (je m'en doutais un peu)


comment faire?

merci