Typedef
Résolu
sifane.a
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
bjr, est ce que vous pouvez me dire comment on uitilise un "typedef" dans une structure.
je note que notre prof ns a dit qu'on utilise ce mot cle pour changer un nom s'il trop long par un autre plus petit.
ex:
struct date naissance;
{
int.....
};
typedef date naissance DATE;
merci de répondre tré vite.
bjr, est ce que vous pouvez me dire comment on uitilise un "typedef" dans une structure.
je note que notre prof ns a dit qu'on utilise ce mot cle pour changer un nom s'il trop long par un autre plus petit.
ex:
struct date naissance;
{
int.....
};
typedef date naissance DATE;
merci de répondre tré vite.
4 réponses
Bah, je viens de te donner la solution dans le post ...
typedef struct dateNaissance dateNaissance; struct dateNaissance; { int..... }; De plus, attention au nom de ta structure, tu n'as pas le droit de mettre des espaces, c'est pour ça que je te l'ai corrigé en dateNaissance.
Salut
Tu peux même inclure le typedef dans truct directement :
typedef struct dateNaissance dateNaissance; struct dateNaissance; { int..... };
Tu peux même inclure le typedef dans truct directement :
typedef struct dateNaissance { int ... } dateNaissance;
Salut
J'ai corrigé quelques fautes (notamment le ; après le define)
Là il restera à voir les problèmes de buffer clavier.
Cdlt
J'ai corrigé quelques fautes (notamment le ; après le define)
Là il restera à voir les problèmes de buffer clavier.
Cdlt
#include<stdio.h> #define etd 2 typedef struct dateNaissance DATE; struct dateNaissance { int jour; int mois; int annee; }; typedef struct etudiant E; struct etudiant { char nom[10]; char prenom[10]; char adresse[20]; DATE date; }; int main(void) { E etudiant[etd]; int i; for(i=0;i<etd;i++) { printf("nom"); scanf("%s",etudiant[i].nom); printf("prenom"); scanf("%s",etudiant[i].prenom); printf("jour naissance"); scanf("%d",&etudiant[i].date.jour); printf("mois"); scanf("%d",&etudiant[i].date.mois); printf("annee"); scanf("%d",&etudiant[i].date.annee); printf("adresse"); scanf("%s",etudiant[i].adresse); } for(i=0;i<etd;i++) { printf("%s",etudiant[i].nom); printf("%s",etudiant[i].prenom); printf("%d",etudiant[i].date.jour); printf("%d",etudiant[i].date.mois); printf("%d",etudiant[i].date.annee); printf("%s",etudiant[i].adresse); } return 0; }
donc si je veu changer le dateNaissance en DATE ,j'aurai qu'a faire ce ke tu m'a dit en changeant simplement comme ca:
typedef struct dateNaissance DATE;
struct DATE;
{
int...
};
mais ce ";" aprés le DATE me parais absurde...
tt fois mm si je l'utilise ac ou sans ";" il me donne préske "30" erreur dans mon code.
si tu veut je peu t'envoyer mon code pour l'examiner.
merci
En :
Et effectivement pour le point virgule après struct. Une faute d'inattention. :)
voila un programme qui affiche les infos d'un etudiant entrés au clavier:
#include<stdio.h>
#define etd 2;
typedef struct etudiant E;
struct etudiant
{
char nom[10];
char prenom[10];
char adresse[20];
typedef struct dateNaissance DATE;
struct dateNaissance
{
int jour;
int mois;
int annee;
};
};
main()
{
int etudiant[etd];
int i;
for(i=0;i<etd;i++)
{
printf("nom");
scanf("%s",&etudiant[i].nom);
printf("prenom");
scanf("%s",&etudiant[i].prenom);
printf("jour naissance");
scanf("%s",&etudiant[i].DATE.jour);
printf("mois");
scanf("%s",&etudiant[i].DATE.mois);
printf("annee");
scanf("%s",&etudiant[i].DATE.annee);
printf("adresse");
scanf("%s",&etudiant[i].adresse);
}
for(i=0;i<etd;i++)
{
printf("%s",etudiant[i].nom);
printf("%s",etudiant[i].prenom);
printf("%s",etudiant[i].DATE.jour);
printf("%s",etudiant[i].DATE.mois);
printf("%s",etudiant[i].DATE.annee);
printf("%s",etudiant[i].adresse);
}
}
j'arrive a des erreur que je ne sais pas corriger, je tape simplement ce que j'ai apris et je me plante.
un coup de main svp.
merci.