sizeof是單目操作符,同++等操作符一樣。作用是以字節形式輸出操作對象所在儲存大小。
如sizeof(int),輸出int類型在內存中所占的字節長度,具體取決於具體環境,本機輸出為4。
如 char a[6]; printf("%d\n" ,sizeof(a)),因為已經定義了char數組長度,所以輸出值為6。
有以下幾個例子,需要引起注意:
例子1:
int testSizeOf(char x[]) { return sizeof(x) ; } int main(int argc, char *argv[]) { char y[6]; int temp = testSizeOf(y); printf("%d\n" ,temp); }這裡的輸出結果不再是6了,因為在testSizeOf函數中,實際上傳入的是一個指針,那麼這裡sizeof實際上取的是指針所占字節數,故結果為4。
例子2:
int main(int argc, char *argv[]) { printf("%d\n" ,sizeof("0123456789")); }這裡是輸出結果為11,因為在語言中,因為這裡考慮了十個字符和字符的結尾符"\0"。