Structures nommées incompréhensible ... à l'aide

otterc8 Messages postés 52 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 11 avril 2007 - 19 oct. 2005 à 18:57
otterc8 Messages postés 52 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 11 avril 2007 - 19 oct. 2005 à 21:43
Bonjour, voila j'ai ce bout de code que je ne comprends pas top, malgré des recherches sur les structures, il y a des choses que je ne comprends pas!

On a une structure nommée t_liste_tri, (d'après ce que je comprends le pointeur liste_tri sur la structure est déclaré en meme temps que celle ci est définie) mais d'après ce que je sais et ce que je peux lire partout, lorsqu'on utilise une structure nommée pour faire une variable on fait comme ca :
struct t_liste_tri mavar;

Et on utilise un typedef si on souhaite utiliser la structure comme un type, mais comme on peut le voir dans le bout de code ici, et comme je le vois dans le reste du code, on a des variables déclarées comme ceci :
t_liste_tri* mavar;

Alors serait ce pcq ce sont des pointeurs et que ca change tout mais selon ce que j'ai lu j'aurais declaré mavar comme ca :
struct t_liste_tri* mavar;

struct t_liste_tri {
  point           p[3];
  int             affiche;
  t_liste_tri    *suivant;
}              *liste_tri;


Si qqn peu m'éclairer sur ce mystère, ca me serait bien utile pour comprendre les rouages des structures.
Si je n'ai pas été assez clair, dites le moi que je me réexplique!
Merci d'avance ;)

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 oct. 2005 à 19:35
En C va bon ainsi et passe aussi en C++:

struct _t_liste_tri {
point p[3];
int affiche;
t_liste_tri *suivant;
} t_liste_tri, *Pt_liste_tri;

t_liste_tri tlt; // une struct
Pt_liste_tri ptlt; // un pointeur

ciao...
BruNews, MVP VC++
otterc8 Messages postés 52 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 11 avril 2007
19 oct. 2005 à 21:43
Merci BruNews,

Toujours là pour sauver les gens, mais en fait c'est bisare pcq toutes
mes recherches ont abouties au fait que le "défaut" des structures
c'est qu'on est obligé de les utiliser comme ca:

struct t_liste_tri mavar_structure;

et que pour faire:

T_liste_tri mavar_type;

il faut avoir utilisé typedef:

typedef struct t_liste_tri{

gna gna gna...

}T_liste_tri;



Alors qu'est ce qui te parait le plus "propre"?

Y a t'il aucun problème pour les 2 facons?

Est ce que cela revient a peu près au même? (mis à part que d'un coté c'est une structure et de l'autre c'est un type)



En tout cas, merci de m'avoir oté d'un doute cocernant la comprehension des structures!


<hr>Si un problème a une solution, alors rien ne sert de s'inquiéter.

Si le problème n'a pas de solution, alors s'inquiéter ne changera rien.(7 ans au Tibet)
Rejoignez-nous