Bonjour,

Je cherche à pointer des éléments, non pas comme une liste chainée pure, mais plutôt à accéder à un élément particulier et suivre un index qui me permet de savoir quel élement prendre "après" au sens de l'exploitation.

J'ai fait ceci, mais ça ne marche pas, évidemment, mais je ne vois pas comment le rendre réalisable.

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
typedef struct _prm {
   const int   x;
   const int   y;
         int   valid;
         int   select;
   const char  title[6];
         char  val[20];
   const char  params[12][20];
       struct  _prm* next;
} prm;
 
typedef struct _prms {
   prm prm1;
   prm prm2;
} prms;
 
prms test = {.....};
 
test.prm1.next = *test.prm2;
1. Je ne vois pas pourquoi ceci n'est pas acceptable.
Je veux pointer une structure identique à celle définie dans typedef.
Pourquoi le compilateur refuse-t-il de les voir identiques ?

2. Question subsidiaire quand ceci sera résolu, peut-on initialiser le chainage à la déclaration (??? j'y crois pas trop, les espaces mémoires étant en cours d'allocation), mes liens n'ayant pas à se modifier durant l'exécution du programme.

Merci de votre aide.