Мы знаем, что sizeofэто оператор, используемый для вычисления размера любого типа данных и выражения, и когда операнд является выражением, скобки можно опустить.
int main()
{
int a;
sizeof int;
sizeof( int );
sizeof a;
sizeof( a );
return 0;
}
первое использование sizeofневерно, тогда как другие верны.
При компиляции с использованием gcc будет выдано следующее сообщение об ошибке:
main.c:5:9: error: expected expression before ‘int’
У меня вопрос, почему стандарт C не допускает такого рода операции. Вызовет sizeof intли двусмысленность?
sizeof (int)a.