LES DECLARATIONS DE TYPE SYNONYMES : TYPEDEF
On a vu les types de variables utilisés par le langage C++: char, int, float, pointeur; le chapitre 9 traitera des fichiers (type FILE).
Le programmeur a la possibilité de créer ses propres types: Il lui faut alors les déclarer (après les déclarations des bibliothèques et les « define ») avec la syntaxe suivante:
Exemples:
typedef int entier; // on définit un nouveau type « entier » synonyme de « int »
typedef int vecteur[3]; // on définit un nouveau type « vecteur » synonyme // de « tableau de 3 entiers »
typedef float *fpointeur; // on définit un nouveau type « fpointeur » synonyme */ // de « pointeur sur un réel
La portée de la déclaration de type dépend de l’endroit où elle est déclarée: dans main(), le type n’est connu que de main(); en début de programme, le type est reconnu dans tout le programme.
#include <iostream.h>
typedef int entier;
typedef float point[2];
void main()
{
entier n = 6;
point xy;
xy[0] = 8.6;
xy[1] = -9.45;
// etc …
}
Exercice VIII_1: Afficher la taille mémoire d’un point à l’aide de l’opérateur sizeof.
Exercice VIII_2: Définir le type typedef char ligne[80] ;
a- Déclarer dans le programme principal un pointeur de ligne; lui attribuer de la place en mémoire (pour 5 lignes). Saisir 5 lignes et les afficher.
b- Ecrire une fonction de prototype void saisie (ligne *tx) qui effectue la saisie de 5 lignes puis une autre fonction de prototype void affiche (ligne *tx) qui les affiche.
Les mettre en oeuvre dans le programme principal
LES STRUCTURES
Les langages C et C ++ autorisent la déclaration de types particuliers: les structures. Une structure est constituée de plusieurs éléments de même type ou non (appelés champs). Le langage C++ a introduit une autre façon de définir plus simplement le type structure. Il est préférable de l’utiliser dans les programmes codés en C++.
…

Cours et TP de langage C++ (226 KO) (Cours PDF)
