© Éditions Eyrolles
IX
Table des matières
Programmer en langage C
3
Initialisation des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.1 Initialisation de tableaux à un indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.2 Initialisation de tableaux à plusieurs indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4
Notion de pointeur – Les opérateurs * et & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.2 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3 Incrémentation de pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5
Comment simuler une transmission par adresse avec un pointeur . . . . . . . . . . 130
6
Un nom de tableau est un pointeur constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.1 Cas des tableaux à un indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.2 Cas des tableaux à plusieurs indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7
Les opérateurs réalisables sur des pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.1 La comparaison de pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.2 La soustraction de pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.3 Les affectations de pointeurs et le pointeur nul . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.4 Les conversions de pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.5 Les pointeurs génériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8
Les tableaux transmis en argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.1 Cas des tableaux à un indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.2 Cas des tableaux à plusieurs indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9
Utilisation de pointeurs sur des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.1 Paramétrage d’appel de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.2 Fonctions transmises en argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
8 Les chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1
Représentation des chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
1.1 La convention adoptée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
1.2 Cas des chaînes constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
1.3 Initialisation de tableaux de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.4 Initialisation de tableaux de pointeurs sur des chaînes . . . . . . . . . . . . . . . . . . . 148
2
Pour lire et écrire des chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
3
Pour fiabiliser la lecture au clavier : le couple gets sscanf . . . . . . . . . . . . . . . . . 151
4
Généralités sur les fonctions portant sur des chaînes . . . . . . . . . . . . . . . . . . . . . 153
4.1 Ces fonctions travaillent toujours sur des adresses . . . . . . . . . . . . . . . . . . . . . . 153
4.2 La fonction strlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.3 Le cas des fonctions de concaténation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5
Les fonctions de concaténation de chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.1 La fonction strcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.2 La fonction strncat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6
Les fonctions de comparaison de chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7
Les fonctions de copie de chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8
Les fonctions de recherche dans une chaîne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Delannoy Livre.book Page IX Mercredi, 6. mai 2009 4:25 16
Précédent

- 10/281

Suivant