关于strlen和sizeof的使用

时间:2021-02-23 06:21:37

在学习C语言中发现strlen和sizeof的关系不是很明确,今天来总结一下这两个的区别:

sizeof

  1. 是运算符,用来计算字节数,在计算字符串数组大小时包含(\0)
  2. 在编译时计算大小,参数可以是数组、指针、类型、对象、函数等。

strlen

  1. 是函数,用来测试字符串长度,不包含(\0)
  2. 在运行时计算大小,参数是字符型指针。
#include <stdio.h>
int main(void)
{
int size1, size2;
char a[] = "hello"; size1 = sizeof(a);
size2 = strlen(a);
printf("%d %d", size1, size2); return 0;
}

一般在数组中使用sizeof

结果:

关于strlen和sizeof的使用

总结的不是太详细,希望大家可以加以补充!