sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等,sizeof操作符以字節形式給出了其操作數的存儲大小。操作數可以是一個表達式或括在括号内的類型名。
使用形式:sizeof(type)。其中type如int、double等。例如sizeof(int)、sizeof(char*)、sizeof(double)。這個時候sizeof後面的類型必須用括号()包起來,不包起來是錯誤的,通過不了編譯。其中sizeof(void*)在64位下是8,而sizeof(void)是1。其實,在C語言中sizeof(函數),如sizeof(main),結果也是1。但是在C++中,sizeof(void)和sizeof(函數)都是非法的,通過不了編譯,後面C++就不說了,現在講C嘛。其實sizeof(函數),sizeof(void)雖然是1,但是是不正确的使用方式。