bonjour a tous!
s'il vous plait je vous comprendre la différence entre typedef struc et struc!
par exemple:
typede struc {
char nom[10];
char prenom[10];
int age;
}etudiant;
et ceci
struc etudiant{
char nom[10];
char prenom[10];
int age;
};
il y a t-il une difference?
merci!
# linuxfr nouveau moteur de recherche ?
Posté par ecid . Évalué à 3.
Bonjour,
Cela prend plus de temps de poser la question sur ce forum que d'utiliser un moteur de recherche
pour trouver la solution. Tiens, puisque qwant est à l'affiche aujourd'hui:
https://www.qwant.com/?q=difference%20typedef%20struct%20et%20struct&t=web
Bonne journée.
# C, ou C++ ? Ça dépend du compilateur.
Posté par Cetera . Évalué à 3. Dernière modification le 15 janvier 2020 à 11:36.
Avec un compilateur C++, il n'y a pas de différence dans ce cas précis, le typedef étant implicite pour les structs et les enum. Ce comportement, d'ailleurs, ne fait pas l'unanimité…
[^] # Re: C, ou C++ ? Ça dépend du compilateur.
Posté par nazcafan . Évalué à 1.
En même temps, il a posté dans le forum C…
# En C
Posté par purplepsycho . Évalué à 5. Dernière modification le 15 janvier 2020 à 13:13.
En C :
Dans le premier cas, on définit une structure anonyme et on définit un type :
etudiant
qui est un alias de la structure.Dans le reste du programme, on peut utiliser
etudiant
directement.Par ex:
Dans le second cas, on ne crée pas de type, et on dit utiliser
struct etudiant
dans le code:# simple
Posté par fearan . Évalué à 2.
déjà il manque des t à test struct, donc on a 2 erreurs de saint Taxe :P
ensuite le typedef permet de simplifier l'écriture en créant des alias pour les type
par exemple
permet d'utiliser uint à la place de unsigned int.
dans les cas que tu présentes tu as le typedef d'une structure anonyme et dans l'autre tu as simplement une structure non anonyme.
En c pour déclarer une structure il faut préciser le struct;
ce qui fait qu'avec ton premier exemple
fonctionne (le struct est inclus dans le typedef)
alors que dans le second cas il faut
enfin tu peux pousser le détail
ce qui te permet de déclarer tes variables
enfin je déconseille d'utiliser des typedef tel quels mais de les nommer différemment, par exemple s_etudiant ou Etudiant, ou tout autre graphie qui permettrai de les repérer au premier coup d'oeil
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.