C程序中字符串的strlen()和sizeof()之间的区别

众所周知,在编程中可以将字符串定义为字符的集合。现在,为了确定要使用多少个字符来创建字符串,C提供了两种方法,分别是strlen()sizeof()

如上 ,这两种方法都用于找出目标操作数的长度,但根据其内部实现,以下是两者之间的一些基本区别。

序号strlen()sizeof()
1定义strlen()是在C中名为string.h的头文件中定义的预定义函数。另一方面sizeof()是一元运算符,而不是预定义函数。
2实作strlen是内部实现的,因为它主要计算不包含null值的字符串中的字符数,即返回null终止字符串的长度。而sizeof的实现方式是,它计算任何类型(分配的)数据的实际大小(以字节为单位)(包括空值)。
3空处理strln排除null,并且不将其包括在字符串长度的总计算中。另一方面,sizeof并不关心变量的值,也不关心以字节为单位(包括空值)的任何类型的数据(已分配)的实际大小。