Language c

44309 mots 178 pages
Support de Cours de Langage C
Christian Bac 24 février 2004

ii

c Christian Bac 1985-2003

Table des matières
Avant-propos 1 Historique et présentation 1.1 1.2 1.3 1.4 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation du langage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Idées fondamentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enchaîneur de passes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 2 Pré-processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compilateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Optimiseur de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Assembleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Éditeur de liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quelques options de cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi 1 1 2 3 5 5 5 7 7 7 7 9 9 9 9 10 10 10 11 11 12 12 12 13 13 14 14

Généralités sur la syntaxe 2.1 Mise en page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 2.1.2 2.2 2.3 2.4 Identifiant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Espaces lexicaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Mots réservés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

Types et variables 3.1 Types de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 Types entiers . .

en relation