4TABLE DES MATIÈRES
3 Structures de données 35
3.1 Déclaration d’une structure . . . . . . . . . . . . . . 36
3.1.1 Alias de nom de structure . . . . . . . . . . . 37
3.1.2 Manipulation des champs . . . . . . . . . . . 38
3.1.3 Pointeur vers une structure . . . . . . . . . . 39
3.2 Structure de structure . . . . . . . . . . . . . . . . . 39
3.3 Tableau de structure . . . . . . . . . . . . . . . . . . 40
3.4 Interface d’accès à une structure . . . . . . . . . . . 41
3.4.1 Accès aux champs . . . . . . . . . . . . . . . 42
3.4.2 Modification des champs . . . . . . . . . . . . 42
3.4.3 Entrées / Sorties . . . . . . . . . . . . . . . . 43
3.4.4 Fonctions annexes . . . . . . . . . . . . . . . 43
3.5 Exercices ........................ 45
4 Stockage dynamique 47
4.1 Allocation de mémoire . . . . . . . . . . . . . . . . . 48
4.1.1 Allocation simple . . . . . . . . . . . . . . . . 48
4.1.2 Allocation et initialisation . . . . . . . . . . . 49
4.1.3 Libération de la mémoire . . . . . . . . . . . 50
4.1.4 Ré-allocation de la mémoire . . . . . . . . . . 52
4.2 Tableaux dynamiques . . . . . . . . . . . . . . . . . 53
4.3 Conteneurs génériques . . . . . . . . . . . . . . . . . 54
4.3.1 Listes chaînées . . . . . . . . . . . . . . . . . 54
4.3.2 Piles....................... 56
4.3.3 Arbres...................... 57
4.4 Exercices ........................ 58
5 Bibliothèque standard 59
5.1 Afficher une variable à l’écran . . . . . . . . . . . . . 59
5.2 Lire des informations au clavier . . . . . . . . . . . . 61
5.2.1 Lecture formatée . . . . . . . . . . . . . . . . 61
5.2.2 Lecture non formatée . . . . . . . . . . . . . 63
5.2.3 Lecture d’une chaîne au format csv . . . . . . 64
5.3 Manipuler un fichier . . . . . . . . . . . . . . . . . . 65
5.4 La fonction main .................... 67