© Éditions Eyrolles
47
chapitre n° 3
Les opérateurs et les expressions en langage C
13 L’opérateur sizeof
L’opérateur sizeof, dont l’emploi ressemble à celui d’une fonction, fournit la taille en octets
(n’oubliez pas que l’octet est, en fait, la plus petite partie adressable de la mémoire). Par exemple, dans une implémentation où le type int est représenté sur 2 octets et le type double sur
8 octets, si l’on suppose que l’on a affaire à ces déclarations :
int n ;
double z ;
●
l’expression sizeof(n) vaudra 2,
●
l’expression sizeof(z) vaudra 8.
Cet opérateur peut également s’appliquer à un type de nom donné. Ainsi, dans l’implémentation précédemment citée :
●
sizeof(int) vaudra 2,
●
sizeof(double) vaudra 8.
Quelle que soit l’implémentation, sizeof(char) vaudra toujours 1 (par définition, en quelque sorte).
Cet opérateur offre un intérêt :
●
lorsque l’on souhaite écrire des programmes portables dans lesquels il est nécessaire de
connaître la taille exacte de certains objets,
●
pour éviter d’avoir à calculer soi-même la taille d’objets d’un type relativement complexe
pour lequel on n’est pas certain de la manière dont il sera implémenté par le compilateur.
Ce sera notamment le cas des structures.
Delannoy Livre.book Page 47 Mercredi, 6. mai 2009 4:26 16
Précédent

- 60/281

Suivant