Wiemy, że sizeof
jest to operator służący do obliczania rozmiaru dowolnego typu danych i wyrażenia, a gdy operand jest wyrażeniem, można pominąć nawiasy.
int main()
{
int a;
sizeof int;
sizeof( int );
sizeof a;
sizeof( a );
return 0;
}
pierwsze użycie sizeof
jest złe, podczas gdy inne mają rację.
Gdy jest kompilowany przy użyciu gcc, zostanie wyświetlony następujący komunikat o błędzie:
main.c:5:9: error: expected expression before ‘int’
Moje pytanie brzmi, dlaczego standard C nie pozwala na tego rodzaju operacje. Spowoduje sizeof int
jakąkolwiek dwuznaczność?
sizeof (int)a
.