64,649
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
void main(void)
{
char str1[]="aaaaa";
char str2[100];
char *p=str1;
char *buff = (char *)malloc(sizeof(char)*2);
//
cout<<"sizeof(str1):"<<sizeof(str1)<<endl;//字符串长度加1,6
cout<<"sizeof(*str1):"<<sizeof(*str1)<<endl;//输出结果为什么是1??取第一个元素吗?如果是,那么为什么sizeof(*str[2])是错误的
cout<<"sizeof(str2):"<<sizeof(str2)<<endl;//100
cout<<"sizeof(*str2):"<<sizeof(*str2)<<endl;//输出结果为什么是1?
cout<<"sizeof(p):"<<sizeof(p)<<endl;//指针
cout<<"sizeof(*p):"<<sizeof(*p)<<endl;
//
cout<<"sizeof(buff):"<<sizeof(buff)<<endl;
cout<<"sizeof(*buff):"<<sizeof(*buff)<<endl;//输出结果为什么是1??
strcpy(buff,"bbbbbbb");
cout<<"sizeof(*buff):"<<sizeof(*buff)<<endl;//输出结果为什么是1??
}