str字符数组使用"abcdef"初始化,最终也会将'\0'放置到数组中,因此数组中总共有7个元素
strlen(str): 获取字符串中有效字符的个数,不算'\0',因此总共6个有效字符。
strlen是一个库函数,是专门求字符串长度的,只能针对字符串,从参数给定的地址向后一直找\0,统计\0之前出现的字符个数。
sizeof(str):获取数组的总大小,7个元素,每个元素占1个字节,因此总共是7个字节。
sizeof是一个操作符,是用来计算变量所占内存空间的大小,不关注内存中存放的具体内容。单位是字节。
int main()
{
char str[] = "abcdef";
int len1 = strlen(str);
int len2 = sizeof(str);
printf("%d\n", len1);
printf("%d\n", len2);
return 0;
}
运行结果: