C Language sizeof Operatore


Esempio

Con un tipo come operando

Valuta nella dimensione in byte, di tipo size_t , di oggetti del tipo specificato. Richiede parentesi attorno al tipo.

printf("%zu\n", sizeof(int)); /* Valid, outputs the size of an int object, which is platform-dependent. */
printf("%zu\n", sizeof int); /* Invalid, types as arguments need to be surrounded by parentheses! */

Con un'espressione come operando

Valuta nella dimensione in byte, di tipo size_t , di oggetti del tipo dell'espressione data. L'espressione stessa non viene valutata. Le parentesi non sono richieste; tuttavia, poiché l'espressione data deve essere unaria, è consigliabile utilizzarla sempre.

char ch = 'a';
printf("%zu\n", sizeof(ch)); /* Valid, will output the size of a char object, which is always 1 for all platforms. */
printf("%zu\n", sizeof ch);  /* Valid, will output the size of a char object, which is always 1 for all platforms. */