Мы знаем, что 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
.