sizeof是计算数据类型占用内存的大小。当计算字符串占存大小时。
strlen的函数原型:
std::size_t strlen( const char* str ); |
|
sizeof是个运算符。
sizeof(string)=strlen(string)+1;
原因很简单,字符串常量会在存储为char数组时补上最末位的‘\0’结束符。
举个例子:
#include<stdio.h>
#include<string.h>
int main()
{
char p[]="Tencent";
printf("%d\n",sizeof(p));
printf("%d\n",strlen(p));
return 0;
}
输出结果为:8 7
关于二者之间的详细区别,可见我转载的另一篇博文。