bonsoir,

J'aimerais déclarer dans une structure un tableau de chaines de caractères sans au départ connaître le nombre de chaines. ( qui peut varier entre 3 et 10). Ca ne fonctionne pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
typedef struct
{
    char callsign[8];
    char actype[4];
    char departure[4];
    char arrival[4];
    int rfl;
    int pfl;
    int xfl;
    int afl;
    int cfl;
    // tableau de x chaines dont la longueur fait 5 caractères (x étant inconnu au départ)
    char (*route)[5];
} s_plane;
 
  s_plane avion1 = { "SWR422", "B777", "LSGG", "SKBO", 360, 360, 360, 360, 360};
  // ici x=4 : 4 chaines de caractères de longueur max 5 caractères
  avion1.route = malloc(4*sizeof(*route));
  avion1.route[0] = strcpy(route[0], "PAS");
  avion1.route[1] = strcpy(route[1], "LSE");
  avion1.route[2] = strcpy(route[2], "MINDI");
  avion1.route[3] = strcpy(route[3], "MEN");
J'ai une erreur 'route' undeclared (first use in this function)

Que faire ? ça fait 3 heures que j'essaie de trouver des exemples sur le net et que je piétine là dessus.

Bon c'est sûr je pourrais définir char route[10][4] puisque j'aurais 10 chaines maxi mais bon je voulais tenter la structure dynamique.