C语言中 strlen 和 sizeof 的关系
- strlen 和 sizeof 没有什么关系;
- strlen 是库函数,使用时需要引用头文件(#include <string.h>);此外,strlen是求字符串长度的,只能针对字符串求长度,‘\0’之前的字符个数;
- sizeof 是操作符;是计算变量、数组、类型的大小,其单位是字节。
例如:
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[] = "sky";//s k y \0
char arr2[] = { 's','k','y' };
printf("%d\n", strlen(arr1));//输出3 s k y \0之前有3个
printf("%d\n", sizeof(arr1));//输出4 s k y \0 四个元素
printf("%d\n", strlen(arr2));//随机值 s k y 后面无\0 所以输出随机值
printf("%d\n", sizeof(arr2));//输出3 s k y
return 0;
}