天天看点

C语言中 strlen 和 sizeof 的关系

C语言中 strlen 和 sizeof 的关系

  1. strlen 和 sizeof 没有什么关系;
  2. strlen 是库函数,使用时需要引用头文件(#include <string.h>);此外,strlen是求字符串长度的,只能针对字符串求长度,‘\0’之前的字符个数;
  3. 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;
}
           

继续阅读