6.2 Structures
Une variable de type structure est un ensemble fini de variable de
types différents ; ces éléments sont les champs de la structure.
La déclaration d'un type structure dont l'identificateur
est modele suit la syntaxe suivante :
typedef struct modele {
type1 champs1 ;
...
typeN champsN ;
} modele ;
Pour déclarer une variable var du type modele, on
utilise la syntaxe : struct modele var;
Si le type modele n'a pas été déclaré au préalable,
on utilise la syntaxe :
struct modele {
type1 champs1 ;
...
typeN champsN ;
} var ;
On accède aux différents champs d'une structure grâce à
l'opérateur . appelé membre de structure. Le ième
éléments de la structure var est accessible par
l'instruction : var.champsi.
Les règles d'initialisation d'une structure lors de sa déclaration
sont les mêmes que pour les tableaux :
struct modele var = { int1, ... , initN } ;
Contrairement aux tableaux, on peut appliquer l'opérateur
d'affectation aux structure :
struct modele var2 = var ;
Exercice 6.0 --- Implantation de fractions.
Les rationnels peuvent être considérés comme un couple d'entiers :
la fraction 3/4 est représenté par le couple d'entiers (3,4).
Nous allons implanter l'arithmétique des fractions rationnelles et
pour ce faire, il nous faut définir un type Rationnel. Nous
pourrions utiliser un tableau de deux entiers mais nous allons
plutôt utiliser une structure.
Pour implanter notre arithmétique, il nous faut coder :
-
une fonction d'affichage d'un rationnel : la fonction
PrintRationnel prend en argument une variable de type
Rationnel et affiche un rationnel ;
- l'addition de deux rationnels : la fonction addRationnel prend
en argument deux variables de types Rationnel et retourne
une variable de type Rationnel codant la somme des deux
arguments ;
- le produit de deux rationnels : la fonction mulRationnel prend
en argument deux variables de types Rationnel et retourne
une variable de type Rationnel codant le produit des deux
arguments ;
- le quotient de deux rationnels : la fonction quoRationnel prend
en argument deux variables de types Rationnel et retourne
une variable de type Rationnel codant le quotient du
premier argument par le second ;
- la réduction sous forme irréductible d'un rationnel : la
fonction normalRationnel prend en argument une variable de type
Rationnel et retourne une variable de type
Rationnel codant la forme irréductible de l'argument (la
forme irréductible de la fraction 2/4 est 1/2).
Exercice 6.1 --- Implantation des nombres complexes.
Les nombres complexes peuvent être considérés comme un couple
de réels : le nombre complexe 3+4I est représenté par le
couple (3,4).
Nous allons implanter l'arithmétique des complexes et pour ce faire,
il nous faut définir un type Complexe. Nous pourrions
utiliser un tableau de deux entiers mais nous allons plutôt utiliser
une structure.
Pour implanter notre arithmétique, il nous faut coder :
-
une fonction d'affichage d'un complexe : la fonction
PrintComplexe prend en argument une variable de type
Complexe et affiche un complexe ;
- l'addition de deux complexes : la fonction addComplexe prend en
argument deux variables de types Complexe et retourne une
variable de type Complexe codant la somme des deux
arguments ;
- le produit de deux complexes : la fonction mulComplexe prend en
argument deux variables de types Complexe et retourne une
variable de type Complexe codant le produit des deux
arguments ;
- le quotient de deux complexe : la fonction quoComplexe prend en
argument deux variables de types Complexe et retourne une
variable de type Complexe codant le quotient du premier
argument par le second.
Pour tout commentaire : Alexandre Sedoglavic.