01 LangageC 4PagesParPage
Un langage. . . El´ ents. . . Particularit´
e. . . La biblioth` eque standard Makefile
´ em´
Un langage. . . El´ ents. . . Particularit´
e. . . La biblioth` eque standard Makefile
Plan
Un langage compil´e et modulaire
´ ements de base du langage
El´
La base
Les pointeurs
Entr´ee / Sortie standard
Les types composites
Les fichiers
3 Particularit´ es du langage
Le programme principal
Les
macros param´etr´es (macro-fonction)
Pointeurs de fonction
Les biblioth`eques
Mots cl´es
Arithm´etique sur les pointeurs
Allocation statique et dynamique
Le langage C - v2.4.1
Les chaˆınes de caract`eres
1
4
2
Langage C
Nicolas Delestre
Le langage C - v2.4.1
1 / 82
´ em´
Un langage. . . El´ ents. . . Particularit´
e. . . La biblioth` eque standard Makefile
5
La biblioth`eque standard
Pr´econditions : assert.h
Fonction d’arit´e variable : stdarg.h
Makefile
2 / 82
´ em´
Un langage. . . El´ ents. . . Particularit´
e. . . La biblioth` eque standard Makefile
Un langage compil´e 1 / 3
Un langage compil´e 2 / 3
Le C est un langage compil´e
Les compilateurs C transforment un programme C (fichier suffix´e par
.c) en programme objet (fichier suffix´e par .o) en deux phases :
1
Le pr´eprocesseur agit sur les macros (commandes pr´ec´ed´ees d’un #) et transforme le code source C en un autre code source C (ne contenant plus aucune macro) en rempla¸cant le code macro par son
´evaluation
Par exemple pour compiler le programme helloworld.c suivant, il faut taper gcc -c helloworld.c, on obtient alors le fichier helloworld.o
#include <stdio.h>
Par exemple si le code C contient l’instruction #define PI 3.14159, le pr´eprocesseur remplacera dans le code source la chaˆıne de caract`eres ”PI” par la chaˆıne de caract`eres ”3.14159” ` a partir de la position du #define
2
int main(){ printf("Hello world\n");
}
Le compilateur transforme ce deuxi`eme code source C en programme machine (nomm´e code objet)
Sous Linux (et g´en´eralement sous unix), on utilise le compilateur gcc (GNU C