Chapitre 9 - TYPES STRUCTURES

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Chapitre9 : TYPES STRUCTURES

9.1.Les structures ou enregistrements


La structure est un type structuré hétérogène. On définit la structure nom_structure
possédant N champs :

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

struct nom_structure article.


On accède aux données du champs_i de la variable article en écrivant

article.champs_i.

exemple :

struct identite {
• char nom[30];

• char prenom[20];

• short int age; }etud1,etud2,groupe[20];

struct date {
int jour;

int mois;

int annee;

}date_naissance;

struct adresse {
int n_rue;
char rue[30];

char ville[30];

};

struct adresse adr1, adr2;


Portée d’une structure:

Si elle est déclarée :

*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;

char nom[20], prenom[20];

float solde;

}banque[300];

Imbrication de structures:
Exemple:

• Struct stage{

char nom[40];

struct date debut, fin;

• }s, ts[50];

Pointeur sur une structure:


Exemple :

• struct date *pd;


Utilisation de structures:
Accès à un champs:

struct date d, *pd;

d.jour=15;

scanf(« %d »,&d.jour);

printf(« jour %d », d.jour);

pd= &d;

pd->jour=5;

Opérations sur les variables structures:


struct date d1, d2={8, 12, 2009 };

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 newdate(void)

{ struct date d;

printf(« jour « );scanf(« %d »,&d.jour);

printf(« mois « );scanf(« %d »,&d.mois);

printf(« annee « );scanf(« %d »,&d.annee);

return d;

Passage par valeur en argument d’une variable structure à une


fonction:
Exemple:
void afficher (struct date d)

printf(« jour: %d « ,d.jour);

……

Passage par adresse en argument d’une variable structure à une


fonction:
Exemple:

void lire_date (struct date *pd)

printf(« jour « );scanf(« %d »,&pd->jour);

printf(« mois « );scanf(« %d »,&(*pd).mois);

printf(« annee « );scanf(« %d »,&pd->annee);

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.

• typedef un_type synonyme_du_type;

Exemple:

• typedef int entier ;

définit un type synonyme appelé entier ayant les mêmes caractéristiques que le type
prédéfini int.

• entier e1=23, e2=5, te[50]={1,2,3,4,5,6,7};

• int i;

• i = e1 + e2; te[20] = i - 60;

• typedef int tab[10];

• tab t ;

La variable t est un tableau de 10 entiers.

Il est aussi possible de définir un type équivalent à une structure :

• typedef struct {

• int jour ;

• int mois ;

• int annee ;

• } date ;

• date obdate, *ptdate ;

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy