众所周知,在编程中可以将字符串定义为字符的集合。现在,为了确定要使用多少个字符来创建字符串,C提供了两种方法,分别是strlen()
和sizeof()
。
如上 ,这两种方法都用于找出目标操作数的长度,但根据其内部实现,以下是两者之间的一些基本区别。
序号 | 键 | strlen() | sizeof() |
---|---|---|---|
1 | 定义 | strlen()是在C中名为string.h的头文件中定义的预定义函数。 | 另一方面sizeof() 是一元运算符,而不是预定义函数。 |
2 | 实作 | strlen是内部实现的,因为它主要计算不包含null值的字符串中的字符数,即返回null终止字符串的长度。 | 而sizeof的实现方式是,它计算任何类型(分配的)数据的实际大小(以字节为单位)(包括空值)。 |
3 | 空处理 | strln排除null,并且不将其包括在字符串长度的总计算中。 | 另一方面,sizeof并不关心变量的值,也不关心以字节为单位(包括空值)的任何类型的数据(已分配)的实际大小。 |