Chapitre 9 - TYPES STRUCTURES
Chapitre 9 - TYPES STRUCTURES
Chapitre 9 - TYPES STRUCTURES
struct nom_structure
• {
type champ_1 ;
• …
• type champ_N ;
• };
Par la suite, on déclare une variable article de type struct nom_ structure en écrivant
article.champs_i.
exemple :
struct identite {
• char nom[30];
• char prenom[20];
struct date {
int jour;
int mois;
int annee;
}date_naissance;
struct adresse {
int n_rue;
char rue[30];
char ville[30];
};
*au sein d’une fonction, alors elle n’est accessible qu’au sein de cette fonction
*en dehors d’une fonction, alors elle est accessible de toute la partie qui suit
l’emplacement de sa déclaration
Tableaux de structures:
<type_structure> <nom_tableau>[<dimension>];
Exemple:
• struct client{
int compte;
float solde;
}banque[300];
Imbrication de structures:
Exemple:
• Struct stage{
char nom[40];
• }s, ts[50];
d.jour=15;
scanf(« %d »,&d.jour);
pd= &d;
pd->jour=5;
d1= d2;
Opérateur sizeof:
printf(«taille structure date :%d »,sizeof(struct date));
Fonctions et structures
Retour d’une variable structure par une fonction:
Exemple:
{ struct date d;
return d;
……
Types union
Une union ne contient qu’une donnée à la fois
Syntaxe de définition:
union <nom_unio> {
<type1> <champ1>;
<type2> <champ2>;
…………..
<typeN> <champN>;
Exemple:
union zone{
int entier;
double reel;
}z1, z2;
Types synonymes
Le langage C offre un mécanisme assez pratique pour définir des synonymes de types.
Exemple:
définit un type synonyme appelé entier ayant les mêmes caractéristiques que le type
prédéfini int.
• int i;
• tab t ;
• typedef struct {
• int jour ;
• int mois ;
• int annee ;
• } date ;