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