全心思齐网

strlen和sizeof的区别?

1、strlen和sizeof代表的含义不同

在定义时,要知道到strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)。而sizeof 是一个单目运算符,而不是一个函数,它的参数可以是数组、指针、类型、对象、函数等。这就是strlen和sizeof的最本质区别。

如果你不能提前区分strlen和sizeof所表示的含义和领域,那么就没有研究下去的必要了。一旦运用是发生混淆或者用错,那么肯定不可能完成既定目标。在使用时一定要牢记这一点最基本的区别

2、strlen和sizeof的功能不一样

想要区分strlen和sizeof,那么就要了解strlen和sizeof两者都有什么功能。只有知道了strlen和sizeof的功能,才能更好的去灵活运用它们。

相比较来说sizeof的功能能比较简单,主要是:获得保证,能容纳实现所建立的最大对象的字节大小。而strlen的功能就比较多和繁琐了,是返回字符串的长度,这个字符串可能是自己定义的,也可能是内存中随机的,这个函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL,返回的长度大小不包括NULL。

匿名回答于2024-06-02 00:48:27


相关知识问答