Language c
Pratique du langage C
Introduction Notions fondamentales Concepts avancés
Nathanaël Cottin
22 décembre 2006
Avant-propos
• Ce document explique les principaux points délicats du langage C • Il n’a pas pour vocation d’introduire l’ensemble des éléments du langage C, notamment syntaxiques, supposés connus • Il aborde des concepts d’utilisation évoluée du langage C
22 décembre 2006
Pratique du langage C
2
1
Plan général
• Partie 1 : Principaux types de données • Partie 2 : Variables et pointeurs • Partie 3 : Les tableaux • Partie 4 : Passage de paramètres aux fonctions • Annexes : Concepts évolués du langage
22 décembre 2006
Pratique du langage C
3
www.ncottin.net
Partie 1 Principaux types de données
Types élémentaires Types évolués Types dérivés
22 décembre 2006
Pratique du langage C
4
2
Types élémentaires
• Type entier : « long », « int », « short » • Type caractère : « char » • Types réel : « long double », « double » et « float » • Type booléen : « int », sachant que la valeur logique « faux » s’exprime par 0 et « vrai » par toute autre valeur (généralement 1) • Types dérivés (« unsigned », etc.)
22 décembre 2006
Pratique du langage C
5
Espace mémoire occupé
Type élémentaire long int short char long double double float
22 décembre 2006
Taille (en octets) 4 2 ou 4 2 1 10 8 4
Pratique du langage C
6
3
Types évolués : tableaux (1/2)
• Tableaux :
– Données stockées en mémoire de manière contiguë – Nom attribué au tableau = pointeur sur son premier élément
• Exemple : int tab[] = {11, 22, 33, 44, 55};
22 décembre 2006
Pratique du langage C
7
Types évolués : tableaux (2/2)
• Chaîne de caractères : tableau de « char » terminé par le caractère spécial « '\0' » • Exemple : char maChaine[] = "Hello world!";
22 décembre 2006
Pratique du langage C
8
4
Types dérivés (1/2)
• Type énuméré : enum bool {FALSE,TRUE,FAUX=0,VRAI};
Les