C/C++ 中sizeof('a')的值對比詳細介紹
C語言:
char a = 'a';sizeof(char) = 1sizeof(a) = 1sizeof('a') = 4
C++語言:
char a = 'a';sizeof(char) = 1sizeof(a) = 1sizeof('a') = 1
字符型變量是1字節這個沒錯,奇怪就奇怪在C語言認為'a'是4字節,而C++語言認為'a'是1字節。
原因如下:
C99標準的規定,'a'叫做整型字符常量(integer character constant),被看成是int型,所以在32位機器上占4字節。
ISO C++標準規定,'a'叫做字符字面量(character literal),被看成是char型,所以占1字節。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選