Мы знаем, что 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
вызывать какую-либо двусмысленность?