64,670
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
//下面分配的二维字符数组,第二维大小是16
char NTPsever[][16] = {
"123456",
"12"};
cout<<sizeof(NTPsever)<<endl;//32,为什么是32?
cout<<sizeof(NTPsever[0])<<endl;//16,是分配的大小吧?
cout<<sizeof(NTPsever[1])<<endl;//16
string str[2] = {
"1234567890",
"12"};
cout<<sizeof(str)<<endl;//8,为什么是8?
cout<<sizeof(str[0])<<endl;//4,为什么是4?难道是指针?
cout<<sizeof(str[1])<<endl;//4
return 0;
}
cout<<sizeof(str[0])<<endl;//4,为什么是4?难道是指针?
当然不是指针,这里是string对象的大小。
C++的string是一个“class”,所以这里的str[0]的对象。