voilà, comme vous vous en doutez, j'ai besoin d'aide!!! :-?
Je bosse actuellement sur un projet en C dont l'un des aspects est la recherche de composantes fortement connexes dans un graphe orienté. Waaa, plein de jolis mots... mais ce n'est pas l'essentiel. J'en viens au noeud du problème.
En fait, un graphe se compose de sommets et d'arcs les reliant. J'ai dont un typedef {...} sommet et un typedef {...} arc. Or, une structure de données de type sommet contient une liste de pointeurs vers ses arcs aentrants et ses arcs sortants, tandis qu'une structure de type arc contient un pointeur vers son sommet de départ et un autre vers son sommet de destination.
Les deux structures se "pointent" mutuellement, en fait.
Le compilateur lit le source ligne par ligne.
Quand il lit la première structure, il ne connait pas la seconde. La solution est de déclarer les types avant.
Fait un truc du genre:
Code :
struct _sommet;
struct _arc;
typedefstruct _sommet
{
...
struct _arc **entrants;
struct _arc **sortants;
...
} sommet;
typedefstruct _arc
{
...
struct _sommet *origine;
struct _sommet *destination;
..
} arc;
En fait en mettant directement struct, je crois que tu n'es pas obligé de les déclarer avant, mais comme je ne suis pas sûr je te mets la version complète ;-)
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.