Juste une petite question sur les structures.

Résolu
_michel Messages postés 77 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 12 août 2010 - 13 févr. 2007 à 09:29
_michel Messages postés 77 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 12 août 2010 - 14 févr. 2007 à 14:45
Voilà la définition de conventionnelle pour une structure :

typedef struct structure{
   void *champs_1;
   void *champs_2;
}   s_structure;

Mais pourquoi écrire "typedef struct structure" alors que "typedef struct" suffit ?
De plus, ce nom n'est utilisé dans aucune déclaration de variable.

8 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 févr. 2007 à 12:24
typedef struct _BNSTRUCT {
  _BNSTRUCT *next; // TYPE CONNU GRACE AU DECLAR PREALABLE
  int bidon;
} BNSTRUCT, *LPBNSTRUCT;

ciao...
BruNews, MVP VC++
3
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
13 févr. 2007 à 09:43
Je ne sais pas, j'ai toujours écris typedef struct de plus le typedef n'est pas indispensable !

<hr size="2" width="100%" />TuRn3r
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
13 févr. 2007 à 10:46
Salut !

Je n'en suis pas sûr mais il me semble que ton "s_structure" renomme le nom de la structure.
Donc logiquement si tu l'enlèves, tu devrais déclarer une variable avec le type "structure".

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]
0
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
13 févr. 2007 à 11:35
Non, le s_structure ne renommera pas ta structure, tu peut déclaré une structure avec les 2 noms, mais je sais pas si il ya une différence (je crois que non).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
13 févr. 2007 à 11:42
Pardon, je me suis mal exprimé.
Quand je dis renommer, c'est en fait que tu donnes un autre nom (ici "s_structure"), en plus, du premier, "structure".

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]
0
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
13 févr. 2007 à 11:48
+1 pour yoyo269,
en effet, j'avais pas vu la chose sous cette angle

<hr size="2" width="100%" />TuRn3r
0
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
13 févr. 2007 à 20:25
Bonsoir,

Perso je procède comme suit :

struct individu
{
    char nom[32];
    char prenom[32];
    int age;
};

int main()
{
    struct individu bonhomme;
    return 0;
}

au moins dans la declaration, on voit bien qu'on a à faire à une structure...

Matt...
0
_michel Messages postés 77 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 12 août 2010
14 févr. 2007 à 14:45
Oui je vois, le C est une langue vivante !
Dommage qu'il n'y ai pas de grammaticiens, ou au moins une encyclopédie universelle !

Mais c'est bon, je vois que la double définition sert pour les listes chainées.




 
0
Rejoignez-nous