时间: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求长度的区别》不代表本网站观点,如有侵权请联系我们删除