以下代碼的sizeof字符串文字
#include <iostream>
using namespace std;
int main()
{
const char* const foo = "f";
const char bar[] = "b";
cout << "sizeof(string literal) = " << sizeof("f") << endl;
cout << "sizeof(const char* const) = " << sizeof(foo) << endl;
cout << "sizeof(const char[]) = " << sizeof(bar) << endl;
}
輸出
sizeof(string literal) = 2
sizeof(const char* const) = 4
sizeof(const char[]) = 2
上的32位操作系統
,使用GCC編譯。
- 爲什麼
sizeof
計算字符串文字的長度(需要的空間)? - 當給
sizeof
時,字符串文字是否有不同的類型(來自char *或char [])?
+1,但該類型實際上是'N個常量字符數組'(const不是可選的) – 2009-09-08 06:02:13
@dribeas:yes;我忽略了預選賽,但你的文理正確。 – 2009-09-08 06:13:58
@JonathanLeffler ......最好的一種正確,特別是在編程方面 – 2014-05-01 22:12:23