以下代码
#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
计算字符串文字的长度(所需的空间)? - 字符串文字是否具有不同的类型(来自 char* 或 char[])
sizeof
?