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