首页 / 智物专栏 / 正文

sizeof与strlen求长度的区别

时间:2024-10-27 09:00:51

strlen和sizeof的计算长度区别 

strlen和sizeof在计算长度时有以下区别:

1. strlen是函数,要在运行时才能计算。参数必须是字符型指针。当数组名作为参数传入时,实际上数组就退化成指针了。它的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL,返回的长度大小不包括NULL。

2. sizeof是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是获得保证能容纳实现所建立的最大对象的字节大小。具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小。

需要注意的是,sizeof和strlen在求数组长度时有所不同。sizeof求数组的长度是计算数组中元素的个数,而strlen求数组的长度是统计0前面的元素的个数。

《sizeof与strlen求长度的区别》不代表本网站观点,如有侵权请联系我们删除

广州她氧信息科技有限公司 她氧网版权所有 粤ICP备2023058637号