sizeof算的整个数组的大小和数据类型所占空间大小,strlen算的是有效字符的大小
sizeof()
#include <stdio.h>
int main()
{
char cdata[128];
printf("cdata=%d\n",sizeof(cdata));//计算数组大小
printf("int=%d\n",sizeof(int));//计算数据类型所占空间大小
printf("char=%d\n",sizeof(char));
printf("float=%d\n",sizeof(float));
printf("int*=%d\n",sizeof(int*));//64平台指针所占空间是8字节;32平台指针所占空间是4字节
printf("char*=%d\n",sizeof(char*));
printf("float*=%d\n",sizeof(float*));
return 0;
}
strlen()
#include <stdio.h>
#include <string.h>
int main()
{
char cdata2[]="hello";
char cdata3[6]={'h','e','l','l','o'};
printf("cdata=%d\n",strlen(cdata2));//直接计算数组中有效字符个数
printf("cdata1=%d\n",strlen(cdata3));//需要加上'\n'到数组个数总数中,才会计算出'\n'前面的有效字符,否则会出现错误
printf("cdata=%d\n",sizeof(cdata2));//这里长度有算上结束符'\n'
printf("cdata1=%d\n",sizeof(cdata3));
return 0;
}