précédent |suivant| table des matières

booléen

Les valeurs boléennes peuvent être indifféremment rerésentées par un entier, ou un bool :  0 est considéré comme faux et toute valeur entière (char, int, unsigned int, long, unsigned long ) différente de 0 est considérée comme vaie.

Le type bool qui a deux valeurs true et false.

chaîne de caractères

Les chaînes de caractères sont notées entre guillemets : "ceci est une chaine de caractères". Les caractères entre guillemets peuvent être des séquences d'échappement. Une chaîne de caractères est représentée en mémoire par la suite des caractères qui la compose suivie d'un caractère de code 0. Ce sont des chaînes à zéro terminal.
 

énumérations

On peut définir des types en donnant l'énumération des éléments constituant le type :

enum booleen { faux, vrai};
enum jour {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche};

Ces nouveaux types sont des sous-ensembles de int. Dans l'exemple précédent, faux vaut 0 et vrai 1. Malheureusement les identificateurs (vrai, faux, lundi, mardi ...) ne sont utilisables que de façon interne : cout<<mardi écrit 1 sur l'écran. En revanche, ils permettent d'augmenter la lisibilité des programmes : mercredi est plus clair dans un programme que 2, mardi ou vrai ne sont pas ambigus, alors que 1 ... D'autre part ce sont des entiers, donc mardi+mercredi est licite et vaut 3.
 

union

L'union, comme l'énumération, est un type défini par l'utilisateur. L'union est un type qui permet d'interpréter des données différentes de différentes façon :

union x {int a; char b [4];};
x f;
f.a=1684234849;
cout <<f.b[0]<<" "<<f.b[1]<<" "<<f.b[2]<<" "<<f.b[3];
// f.b[0]='a'; f.b[1]='b'; f.b[2]='c'; f.b[3]='d';

L'espace occupé par des données de ce type est l'espace occupé par le membre de l'union qui occupe le plus d'espace. L'accès aux membres de l'union se fait via les sélecteurs de membre.

Les membres d'une union peuvent être spécifiés private, protected, ou public, et une union peut être munie de fonctions membres ainsi que de constructeurs et/ou destructeurs.
 
 

typedef

Le mot clé typedef permet de définir de nouveaux noms de type en les associant à un constructeur de type.

Exemple :

typedef int entier;        // entier est synonyme de int
typedef char str20 [21];   // str20 est une chaîne de 20 caractères
typedef union { int a; char b[4];} x;    // x est l'union
typedef union x { ... } y; // x et y sont deux unions identiques


précédent |suivant| table des matières