เราทราบดีว่า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ลอง