![]()
ANSI_C ![]()
![]()
![]()
![]()
![]()
Suivant: Table des matières
Bernard Cassagne
Introduction au langage C
norme ISO / ANSI
Laboratoire CLIPS
Université Joseph Fourier & CNRS
Grenoble
Copyright 1997 Bernard Cassagne
Ce texte est copyrighté et n'est pas dans le domaine public. Sa reproduction est cependant autorisée à condition de respecter les conditions suivantes :Toute reproduction sortant du cadre précisé ci-dessus est interdite sans accord préalable de l'auteur.
- Si ce document est reproduit pour les besoins personnels du reproducteur, toute forme de reproduction (totale ou partielle) est autorisée.
- Si ce document est reproduit dans le but d'être distribué à de tierces personnes :
- il devra être reproduit dans son intégralité sans aucune modification. Cette notice de copyright devra donc être présente.
- il ne devra pas être vendu. Cependant, dans le seul cas d'un enseignement gratuit, une participation aux frais de reproduction pourra être demandée, mais elle devra être inférieure au prix du papier et de l'encre composant le document.
Un fichier PostScript contenant ce document est librement accessible par l'URL :
ftp://ftp.imag.fr/pub/DOC.UNIX/C/Introduction_ANSI_C.ps
Version de ce document : 2.0 de juillet 1997
- Table des matières
- Avant-propos
- Les bases
- Les versions du langage C
- Langage et bibliothèque standard
- Les phases de compilation
- Les jeux de caractères
- Les unités lexicales
- Les commentaires
- Les types de base
- Les constantes
- Les chaînes de caractères littérales
- Les constantes nommées
- Déclarations de variables ayant un type de base
- Les opérateurs les plus usuels
- Les instructions les plus usuelles
- Inclusion de source
- Les procédures et les fonctions
- Impression formattée
- Structure d'un programme
- Terminaison d'un programme
- Mise en
uvre du compilateur C sous UNIX
- Exercice
- Récréation
- Les tableaux
- Les pointeurs
- Notion de pointeur
- Déclarations de variables de type pointeur vers les types de base
- Type de pointeur générique
- Opérateur adresse de
- Opérateur d'indirection
- Exercice
- Pointeurs et opérateurs additifs
- Différence de deux pointeurs
- Exercice
- Passage de paramètres
- Discussion
- Une dernière précision
- Exercice
- Lecture formattée
- Les dernières instructions
- Exercice
- Récréation
- Relations entre tableaux et pointeurs
- Conversion des tableaux
- L'opérateur d'indexation
- Passage de tableau en paramètre
- Modification des éléments d'un tableau passé en paramètre
- Interdiction de modification des éléments d'un tableau passé en paramètre
- Conversion des chaînes littérales
- Retour sur printf
- Exercice
- Tableaux multidimensionnels
- Initialisation
- Exercice
- Tableau de pointeurs
- Tableau et pointeur, c'est la même chose ?
- Récréation
- Les entrées-sorties
- Pointeur invalide
- Ouverture et fermeture de fichiers
- Lecture et écriture par caractère sur fichier
- Lecture et écriture par lignes sur fichier
- E/S formattées sur fichiers
- Récréation
- Exercice 1
- Exercice 2
- Structures, unions et énumérations
- Notion de structure
- Déclaration de structure
- Opérateurs sur les structures
- Tableaux de structures
- Exercice
- Pointeurs vers une structure
- Structures dont un des membres pointe vers une structure du même type
- Accès aux éléments d'une structure pointée
- Passage de structures en paramètre
- Détermination de la taille allouée à un type
- Allocation et libération d'espace pour les structures
- Exercice
- Les champs de bits
- Les énumérations
- Les unions
- Accès aux membres de l'union
- Utilisation pratique des unions
- Une méthode pour alléger l'accès aux membres
- Les expressions
- Les conversions de types
- Les opérateurs
- Opérateur conversion
- Sémantique des expressions
- Récréation
- Le préprocesseur
- Les déclarations
- Déclarations de définition et de référence
- Portée des déclarations
- Visibilité des identificateurs
- Les espaces de noms
- Durée de vie
- Classes de mémoire
- La compilation séparée
- Définition de types
- Utilité des typedef
- Qualificatifs de type
- Fonction à nombre variable de paramètres
- Syntaxe des déclarations
- Sémantique des déclarations
- Discussion sur les déclarations
- En pratique
- Un outil : cdecl
- La bibliothèque standard
- Diagnostic
- Manipulation de caractères <ctype.h>
- Environnement local <locale.h>
- Mathématiques <math.h>
- Branchements non locaux <setjmp.h>
- Manipulation des signaux <signal.h>
- Nombre variable de paramètres <stdarg.h>
- Entrées sorties <stdio.h>
- Utilitaires divers <stdlib.h>
- Manipulation de chaînes <string.h>
- Manipulation de la date et de l'heure <time.h>
- Les jeux de caractères
- Bibliographie
- Ressources Internet
- La grammaire
- Les unités lexicales
- Les mots-clés
- Les identificateurs
- Les constantes
- Les chaînes littérales
- Les opérateurs
- La ponctuation
- Nom de fichier d'inclusion
- Les nombres du préprocesseur
- Les expressions
- Les déclarations
- Les instructions
- Définitions externes
- Directives du préprocesseur
- Références croisées de la grammaire
- Un bestiaire de types
- Le bêtisier
- Glossaire
- Index
- À propos de ce document...
30/9/1997