You are on page 1of 11

Collège LaSalle International, Tunis

INTRODUCTION À LA
PROGRAMMATION OBJETS :
LES STRUCTURES

Introduction à la
programmation Enseignant : Raouf LAMMOUCHI
objets
Les structures
2

 Pour grouper plusieurs variables, nous ne


connaissons encore que les tableaux
 Ceux-ci ne permettent de grouper que des
variables de même type

 Pour en grouper de différentes, il faut


utiliser les structures

Introduction à la
Collège LaSalle International, Tunis
programmation objets
Utilisation des structures
3

 Exemple:
Dans une gestion de personnel, on utilisera
des fiches contenant le nom, le prénom, l’âge,
l’adresse, etc., de chaque employé.
Il serait peu logique de placer chacun des
éléments de ces fiches dans des tableaux
différents  compliquerait la recherche de
l’ensemble des
caractéristiques d’un employé
donné.
Introduction à la
Collège LaSalle International, Tunis
programmation objets
Utilisation des structures
4

 En C/C++, un regroupement de telles


variables différentes peut se faire à l’aide
d’une structure
 Exemple :
struct fiche
{
char *nom, *prenom;
int age; // etc ...
};
Introduction à la
Collège LaSalle International, Tunis
programmation objets
Utilisation des structures
5

 Des variables de type fiche peuvent être


déclarées de la même façon que pour tout
autre type :
fiche employe1, employe2;
 Un tel type peut être manipulé comme
n’importe quel autre, et l’on peut très bien
définir des pointeurs sur ce type, ou des
tableaux: fiche employes[];

Introduction à la
Collège LaSalle International, Tunis
programmation objets
Adressage des champs
6

 Les différents éléments d’une structure sont


appelés des champs, ou des données
membres:
fiche employe;
employe.nom = "Dupont";
employe.prenom = "Jean";
employe.age = 34;

Introduction à la
Collège LaSalle International, Tunis
programmation objets
Adressage des champs
7

 Pour éviter dans le cas de pointeurs des


parenthésages pénibles, on dispose d’un
second opérateur:
fiche *pempl;
pempl->nom = "Durand"; // plus simple que
(*pempl).nom
pempl->age = 25;

Introduction à la
Collège LaSalle International, Tunis
programmation objets
Définition
8

 La syntaxe générale d’une définition de


structure est la suivante:
struct [nom_struct] {
type1 champ1;
type2 champ2;
......
typeN champN;
} [var1, var2, ..., varM];

Introduction à la
Collège LaSalle International, Tunis
programmation objets
Exemples
9

struct fiche { struct {


char *nom, *prenom; char *nom, *prenom;
int age; int age;
} employe1, employes[]; } employes[100];

typedef struct { les variables de type


char *nom, *prenom; structure doivent être
int age; déclarées avec le mot struct :
} fiche; struct fiche employes[100];

Introduction à la
Collège LaSalle International, Tunis
programmation objets
Types des champs
10

Exemple 1 :
struct recursive {
recursive interne; // NON, interdit !
};

Exemple 2:
struct fiche {
fiche *suivante;
char *nom, *prenom;
...
};  On peut ainsi créer une liste chaînée

Introduction à la
Collège LaSalle International, Tunis
programmation objets
Arguments de fonctions
11

 Les structures peuvent être passés comme


arguments de fonctions de la même façon que
tout autre type :
void fonction(struct fiche employe, int n);

 On préfère en général passer les structures


sous la forme de pointeurs

void fonction(fiche *pempl, int n);

Introduction à la
Collège LaSalle International, Tunis
programmation objets

You might also like