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


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

如上所述,这两种方法都用于找出目标操作数的长度,但基于它们的内部实现,两者之间存在一些基本区别。

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

更新于:2020年2月25日

276 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告