3)Les séparateurs Les différents séparateurs reconnus par le compilateur peuvent avoir plusieurs significations.
-
Type
| Nom
| Significations
| […]
| Crochets
| Indice d'accès dans un tableau
| (…)
| Parenthèses
| Groupement d'expressions (force la priorité)
Isolement des expressions conditionnelles
Déclaration des paramètres d'une fonction
Conversion explicite d'un type (casting)
| {…}
| Accolades
| Début et fin de bloc d'instructions
Initialisation à la déclaration d'un tableau
Déclaration d'une structure
| ,
| Virgule
| Sépare les éléments d'une liste d'arguments
Concaténation d'instructions
| ;
| Point virgule
| Terminateur d'instruction
| :
| Deux points
| Label
| .
| Point
| Accède à un champ d'une structure
| ->
| Flèche ("moins" suivi de "supérieur")
| Accède à un champ d'un pointeur sur une structure
| 4)Les commentaires Les commentaires permettent de porter des remarques afin de faciliter la lecture d'un programme source. Chaque commentaire est délimité par les combinaisons suivantes "/* Commentaire */"
Les commentaires ne sont pas pris en compte par le compilateur et n'augmentent donc pas la taille des programmes exécutables. Les commentaires peuvent tenir sur plusieurs lignes du style :
/* Je commente mon programme Je continue mes commentaires J'ai fini mes commentaires */
Les commentaires ne peuvent pas être imbriqués comme dans le style :
/* Début Commentaire 1 /* Commentaire 2 */ Fin commentaire 1*/
Remarque : Depuis l'avènement du C++, les compilateurs acceptent maintenant comme commentaire la séquence "//" spécifique à ce langage ; qui permet de ne commenter qu'une ligne ou une partie de la ligne.
// Cette ligne est totalement mise en commentaire int i; // Le commentaire ne commence qu'à partie de la séquence "//"
5)Les variables Comme tout langage déclaratif, le langage C exige que les variables soient déclarées avant leur utilisation. En fait, pour chaque bloc d'instructions délimité par des accolades "{", il faut déclarer toutes les variables avant que soit écrite la première instruction du bloc. Mais cette règle étant valable pour chaque bloc ; on peut aussi déclarer des variables dans des sous-bloc d'instructions.
Exemple :
// Bloc d'instruction n° 1 { Déclaration des variables (avant toute instruction du bloc n° 1) Instruction Instruction … // Sous-bloc d'instruction n° 2 { Déclaration des variables (avant toute instruction du bloc n° 2) Instruction Instruction … } … Instruction appartenant au bloc n° 1 } Une variable est définie par plusieurs attributs; certains facultatifs mais ayants alors une valeur par défaut) :
sa classe d'allocation en mémoire ("auto" par défaut)
en cas de variable numérique, l'indication "signé" ou "nonsigné" (signé par défaut)
le type de la valeur qu'elle doit stocker (entier par défaut, nombre en virgule flottante, etc.)
son nom (l'identificateur de la variable) Déclaration :
[classe] [unsigned/signed] ; (n'oubliez pas le point-virgule final) Exemple :
static int nb; // Déclaration d'une variable nb de type int de classe static int i; // Déclaration d'une variable i de type int (de classe auto par défaut)
Remarque : la notion de classe sera revue plus en détail par la suite du cours. Jusque là, il suffira de ne pas spécifier de classe pour vos variables. Lors de sa création en mémoire, une variable possède n'importe quelle valeur.
Il convient donc de ne jamais présumer de la valeur d'une variable non-initialisée !!!
|