sizeof是计算数据类型占用内存的大小。当计算字符串占存大小时。
sizeof(string)=strlen(string)+1;
原因很简单,string数组在存储时会补上最末位的‘\0’结束符。
举个例子:
#include<stdio.h>
#include<string.h>
int main()
{
char p[]="Tencent";
printf("%d\n",sizeof(p));
printf("%d\n",strlen(p));
return 0;
}
关于二者之间的详细区别,可见我转载的另一篇博文。
原文:http://blog.csdn.net/u010275850/article/details/44904879