计算字符个数及sizeof 与 strlen 的区别

来源:互联网 发布:打谱软件手机版 编辑:程序博客网 时间:2024/06/05 22:31


1)指针

char *p="hello";

cout<<sizeof(p)<<endl;

cout<< strlen(p)<<endl;

sizeof(p)结果为:48

原因32位系统下,指针的大小为4,64位系统下为8

strlen (p)结果为:5

原因:字符串数组的大小为:字符个数

2)数组

charp[]="hello";

cout<<sizeof(p)<<endl;

cout<< strlen(p)<<endl;

sizeof(p)结果为:6

原因:字符串数组的大小为:字符个数 + 字符串结束标识符‘\0’,故共有6个字符;

strlen (p)结果为:5

原因:字符串数组的大小为:字符个数。不加字符串结束标识符‘\0’。

1 0