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"。