En C, il est possible d'insérer un commentaire partout où l'insertion d'un
espace est possible. Un commentaire commence par une barre oblique suivie
d'une étoile ( /*
), et se termine par une
étoile suivie d'une barre oblique ( */
). Tout
ce qui est compris entre le deux est totalement ignoré par le compilateur.
/* Ceci est un commentaire */
/* En voici un autre qui s'etend sur deux...
... lignes */
Attention : il n'est pas possible d'imbriquer un commentaire à l'intérieur d'un autre commentaire.
En C (comme dans beaucoup d'autres langages), on désigne les objets que l'on
manipule par un nom. Pour être valide, le premier caractère d'un nom doit
obligatoirement être une lettre (A...Z, a...z) ou un underscore
(_
)2.1. Les
caractères suivants sont choisis parmi les lettres (A...Z, a...z), les
chiffres (0...9) ou l'underscore ( _
).
La norme ANSI n'impose aucune limite sur la longueur d'un nom. Il se peut que certains vieux compilateurs (ne respectant pas la norme) imposent une limite. Cette limite n'est jamais inférieure à 8 caractères. Si cette limite existe, les caractères la dépassant ne sont pas pris en compte pour distinguer deux noms.
Attention : le C est sensible à la casse2.2 ! C'est à dire qu'il fait la distinction entre les majuscules et les minuscules.
Les noms réservés en C sont les mots-clé du langage. Le tableau 2.1 donne la liste de tous les noms réservés par la norme ANSI. Ces noms ne peuvent être utilisés comme noms de variables, de fonctions ou de types. Il est possible que certains compilateurs y ajoutent quelques mots qui leur sont propres.
On distingue quatre types de constantes : entières, flottantes, caractères et chaînes. Nous allons décrire ces différents type de constantes en se référant au type de variables qui pourront les contenir. Ces types de variables sont décrits dans le chapitre concernant les variables (3).
Les constantes entières sont représentées par une
suite de chiffres (en décimal par défaut) précédée éventuellement par un signe
(+
ou -
). Si cette suite commence par 0
, la constante
s'exprime en octal (base 8). Si cette suite commence par 0x
ou
0X
, la constante s'exprime en héxadécimal (base 16). Par défaut, une
constante entière est de type int
. Si la constante se termine par
l
ou L
, elle est de type long
. Si, elle se termine par
u
ou U
, elle est de type unsigned
.
Une constante réelle (on dit aussi flottante) est
constituée d'une partie entière, d'un point décimale, d'une partie décimale,
de la lettre e
ou E
et enfin d'un exposant entier éventuellement
négatif. Certains de ces éléments peuvent être omis mais pour être considérée
comme réelle, une constante doit contenir un point décimal ou un exposant.
Par défaut, une constante réelle est de type double
. Si la constante
est terminée par la lettre f
, elle est alors de type float
.
Une constante caractère est de type char
.
Elle est constituée d'un caractère écrit entre apostrophes ('
). La
valeur de cette constante est la valeur de ce caractère dans le codage de la
machine utilisée (en général le codage ASCII). Certains caractères ne peuvent
pas être représentés par un seul caractère, on utilise alors le caractère
d'échappement ( \
) selon la
table suivante.
Pour les caractères impossibles à écrire normalement et non prévus dans la
table précédente, on peut donné directement la valeur du caractère dans le
codage de la machine. Il suffit de faire suivre le caractère d'échappement
(\
) d'un nombre à trois chiffres (en octal) ou d'un x
suivi de
deux chiffres (en héxadécimal). Par exemple, la constante '\012'
spécifie le caractère de code ASCII 10 (10 en décimal est égal à 12 en octal).
Ce même caractère pourrait être exprimé par la constante '\x0A'
(exprimé en héxadécimal cette fois). Ce codage sert surtout pour coder le
caractère NUL qui permet de terminer les chaînes de caractères (\0
).
Les constantes chaînes de caractères s'écrivent
entre des guillemets ("
). Elles sont constituées d'une suite de
caractères. Comme pour les constantes caractères, on peut utiliser le
caractère d'échappement pour saisir des caractères spéciaux. Le compilateur
ajoute tout seul le caractère NUL (\0
) en fin de chaîne. Une chaîne est
de type pointeur sur caractère (char *
) et pointe sur un tableau de
caractères contenant la suite des caractères complétée par le caractère NUL de
fin de chaîne (\0
).
"Voici une chaîne terminée par une fin de ligne
\
n"