© Éditions Eyrolles
XI
Table des matières
Programmer en langage C
6
Les fichiers prédéfinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
11 La gestion dynamique de la mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
1
Les outils de base de la gestion dynamique : malloc et free . . . . . . . . . . . . . . . 196
1.1 La fonction malloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
1.2 La fonction free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
2
D’autres outils de gestion dynamique : calloc et realloc . . . . . . . . . . . . . . . . . 199
2.1 La fonction calloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
2.2 La fonction realloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
3
Exemple d’application de la gestion dynamique : création d’une liste chaînée . 200
Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
12 Le préprocesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
1
La directive #include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
2
La directive #define . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
2.1 Définition de symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
2.2 Définition de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
3
La compilation conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
3.1 Incorporation liée à l’existence de symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
3.2 Incorporation liée à la valeur d’une expression . . . . . . . . . . . . . . . . . . . . . . . . . . 212
13 Les possibilités du langage C proches de la machine . . . . . . . . . . . . . . . . . . . . 215
1
Compléments sur les types d’entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
1.1 Rappels concernant la représentation des nombres entiers en binaire . . . . . . . 216
1.2 Prise en compte d’un attribut de signe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
1.3 Extension des règles de conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
1.4 La notation octale ou hexadécimale des constantes . . . . . . . . . . . . . . . . . . . . . 217
2
Compléments sur les types de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
2.1 Prise en compte d’un attribut de signe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
2.2 Extension des règles de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
3
Les opérateurs de manipulation de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
3.1 Présentation des opérateurs de manipulation de bits . . . . . . . . . . . . . . . . . . . . . 220
3.2 Les opérateurs bit à bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
3.3 Les opérateurs de décalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
3.4 Exemples d’utilisation des opérateurs de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
4
Les champs de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
5
Les unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Delannoy Livre.book Page XI Mercredi, 6. mai 2009 4:25 16
Précédent

- 12/281

Suivant