Détermination de la taille allouée à un type next up previous contents index
Suivant: Allocation et libération d'espace Début: Structures, unions et énumérations Précédent: Passage de structures en


Paragraphes

Détermination de la taille allouée à un type

 

Pour connaître la taille en octets de l'espace mémoire nécessaire pour une variable, on dispose de l'opérateur sizeof. Cet opérateur est un opérateur unaire préfixé que l'on peut employer de deux manières différentes : soit sizeof expression soit sizeof ( nom-de-type ). Exemple :

int i,taille;

taille = sizeof i;
taille = sizeof (short int);
taille = sizeof (struct personne);

Retour sur la conversion des tableaux

  L'opérande de l'opérateur sizeof est la seule exception à la conversion d'un identificateur de type tableau de X en pointeur vers X. Ne pas réaliser cette conversion est en effet nécessaire pour que l'opérateur sizeof ait l'effet attendu par le programmeur lorsqu'il l'applique à un tableau. Exemple :
int t[10];

if (sizeof(t) / sizeof(int) != 10)
   printf("sizeof mal implémenté\n");
else printf("sizeof ok\n");




30/9/1997