(1)指针
char *p="hello";
cout<<sizeof(p)<<endl;
cout<< strlen(p)<<endl;
sizeof(p)结果为:4或8
原因:32位系统下,指针的大小为4,64位系统下为8;
strlen (p)结果为:5
原因:字符串数组的大小为:字符个数 。
(2)数组
char p[]="hello";
cout<<sizeof(p)<<endl;
cout<< strlen(p)<<endl;
sizeof(p)结果为:6
原因:字符串数组的大小为:字符个数 + 字符串结束标识符‘\0’,故共有6个字符;
strlen (p)结果为:5
原因:字符串数组的大小为:字符个数 。不加字符串结束标识符‘\0’。