1,sizeof:计算所占空间大小(包含'\0')
strlen:函数值为字符串中的实际长度,找到'\0'停止(遇到第一个'\0'停止计算,不包含\0)
char * 的sizeof永远为4
int main()
{
char str1[100] = "abcdef";//6,100
char str2[] = "abcdef";//6,7
char *str3 = "abcdef";//6,4
char str4[100] = "abcdef\0xyz";//6,100
char str5[] = "abcdef\0xyz";//6,11
char *str6 = "abcdef\0xyz";//6,4
char str7[] = "abcdef\n\0";//7,9 ('\n','\0'均为一个字节,只是字符串自动补\0,所以有两个\0)
char *str8 = "abcdef\n\0";//7,4
printf("%d,%d\n",strlen(str1),sizeof(str1));
printf("%d,%d\n",strlen(str2),sizeof(str2));
printf("%d,%d\n",strlen(str3),sizeof(str3));
printf("%d,%d\n",strlen(str4),sizeof(str4));
printf("%d,%d\n",strlen(str5),sizeof(str5));
printf("%d,%d\n",strlen(str6),sizeof(str6));
printf("%d,%d\n",strlen(str7),sizeof(str7));
printf("%d,%d\n",strlen(str8),sizeof(str8));
}