sizeof : fournit le nombre d'octets occupés par une variable.
Mot réservé du langage C
Syntaxe:
sizeof <expressionn>
sizeof( <type> )
Description:
L'opérateur sizeof renvoie un unsigned int égal à la taille en octets, nécessaire pour représenter son opérande en mémoire.
<expression> peut être une constante, un nom de variable, un élément de tableau, un nom de champ.
<type> est un type de base, ou un nom défini par typedef.
Voir aussi:
Exemple:
#include
typedef struct { /* Exemple de type */
char nom[35];
int age;
} NomAge;
int main(void) {
NomAge tab[12], vv, *pNomAge;
printf("Encombrement mémoire de 1 million: %d octets\n",
sizeof 1000000);
printf("sizeof \"blabla\" : %d\n", sizeof "blabla");
printf("sizeof \"\" (chaîne vide) : %d\n", sizeof "");
printf("Encombrement d'une variable de type NomAge: %d octets\n",
sizeof vv);
printf("Encombrement d'un pointeur sur NomAge: %d octets\n",
sizeof pNomAge);
/* Elément de tableau]
printf("Encombrement d'une variable de type NomAge: %d octets\n",
sizeof tab[0]);
/* Nom de champ */
printf("Encombrement du champ nom: %d octets\n",
sizeof vv.nom);
/* Encombrement de la représentation d'un type */
printf("Encombrement mémoire d'un double: %d octets\n",
sizeof(double) );
printf("Encombrement mémoire du type NomAge: %d octets\n",
sizeof(NomAge));
printf("Encombrement d'un pointeur sur type NomAge: %d octets\n",
sizeof(NomAge *));
/* Le nombre d'éléments d'un tableau réservé à la compilation
en variable locale : */
printf("Nombre d'éléments réservés dans le tableau: %d octets\n",
(sizeof tab)/(sizeof tab[0]));
return 0;
}