sizeof('a') 在C++里面是1,C里面是4。
C里面字符常量、enum作整數(shù)常量對待,所以是sizeof('a')大小是4。
C99標(biāo)準(zhǔn)6.6.6有說明。
int a = 'a'; sizeof(a)大小是1。
另:sizeof(x)用于對類型取大小,對表達(dá)式取大小應(yīng)使用sizeof x;雖然編譯器沒給你報(bào)錯(cuò)。
"aaa"的類型是char[4],"aa"的類型是char[3],這是數(shù)組類型,數(shù)組類型作為值傳遞時(shí)退化為指針類型,與函數(shù)類型相似(注)。
注:void(int)是函數(shù)類型,void(*)(int)是函數(shù)指針類型,把函數(shù)作為值傳遞時(shí),退化為函數(shù)指針類型。