bonjour,

pour une appli de rech-op, je veux initialiser un tableau de struct (arc) comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
typedef struct { int b; int e; int v; int c; } arc;
dans mon WINMAIN:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
arcs=(arc *)malloc(50*sizeof(arc));
et moi je veux avoir pour l'init (sauf que ça veut pas !!) quelque chose genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
       arc arcs[1]  = { 1 , 2 , 10 , 0 };
       arc arcs[2]  = { 1 , 3 , 5  , 0 };
       arc arcs[3]  = { 2 , 3 , 2  , 0 };
       arc arcs[4]  = { 3 , 2 , 3  , 0 };
       arc arcs[5]  = { 2 , 4 , 11 , 0 };
       arc arcs[6]  = { 3 , 4 , -5 , 0 };
       arc arcs[7]  = { 4 , 5 , -4 , 0 };
       arc arcs[8]  = { 5 , 4 , 51 , 0 };
       arc arcs[9]  = { 3 , 5 , -2 , 0 };
       arc arcs[10] = { 5 , 1 , 7  , 0 };
(erreurs de compilation: "multiple declaration" / "earlier declaration" )

ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
             arcs = {   { b:1 , e:2 , v:10  , c:0 },
                        { b:1 , e:3 , v:5   , c:0 },
                        { b:2 , e:3 , v:2   , c:0 },
                        { b:3 , e:2 , v:3   , c:0 },
                        { b:2 , e:4 , v:11  , c:0 },
                        { b:3 , e:4 , v:-5  , c:0 },
                        { b:4 , e:5 , v:-4  , c:0 },
                        { b:5 , e:4 , v:51  , c:0 },
                        { b:3 , e:5 , v:-2  , c:0 },
                        { b:5 , e:1 , v:7   , c:0 } };
(erreurs de compilation: "expression syntax" )


PS: je précise quand même que mon appli marche très bien avec la méthode "traditionnelle" suivante (la valeur "c" n'est pas le plus important à ce stade):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
       arcs[1].b=1; arcs[1].e=2; arcs[1].v=10;
       arcs[2].b=1; arcs[2].e=3; arcs[2].v=5;
       arcs[3].b=2; arcs[3].e=3; arcs[3].v=2;
       arcs[4].b=3; arcs[4].e=2; arcs[4].v=3;
       arcs[5].b=2; arcs[5].e=4; arcs[5].v=11;
       arcs[6].b=3; arcs[6].e=4; arcs[6].v=-5;
       arcs[7].b=4; arcs[7].e=5; arcs[7].v=-4;
       arcs[8].b=5; arcs[8].e=4; arcs[8].v=51;
       arcs[9].b=3; arcs[9].e=5; arcs[9].v=-2;
      arcs[10].b=5;arcs[10].e=1;arcs[10].v=7;
merci par avance...