Операндом оператора sizeof
является тип.
Если вы используете sizeof с объектом или значением, вместо него используется его тип.
sizeof 65; /* same as `sizeof (int);` */
sizeof 'X'; /* same as `sizeof (int);` */
sizeof 42.0; /* same as `sizeof (double);` */
float f;
sizeof f; /* same as `sizeof (float);` */
/* etc ... */
Вы можете указать тип непосредственно для оператора sizeof (как в «такой же как» выше). Скобки необходимы "для приведения операнда к нужному типу" (как в (int)2.5
), а не как синтаксис для sizeof
самого
#include <math.h>
sizeof (12 * log(100)); /* same as `sizeof (double);` */
/* without the parenthesis, this would be */
/* (sizeof 12) * log(100); */