sizeof和strlen的区别?sizeof算不算0
一、sizeof和strlen相同点和区别
sizeof释义:
n.运算符;大小
例句:
Myroomishalfthesizeoftheroomnexttoit.
我的屋子是旁边那个屋子大小的一半。释义:
n.运算符;大小
例句:
Myroomishalfthesizeoftheroomnexttoit.
我的屋子是旁边那个屋子大小的一半。
strlen释义:
abbr.字符长度(stringlength)
例句:
Sostrlenisthelengthofastring.
所以strlen就是字符串的长度。
二、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。
三、strlen和sizeof有什么区别
1、含义不同:sizeof是一个运算符,用于计算变量或类型所占用的内存字节数;而strlen则是一个函数,用于计算字符串中字符的个数2。
2、初始化关系不同:sizeof可以用于做参数,与初始化有一定的关系;而strlen只能用char做参数,且有限制,不是直接可以做,且与初始化无关。
3、计算时间不同:sizeof在编译时就能计算;而strlen只能在运行时才能计算3。
4、结果类型不同:sizeof操作符的结果类型是size_t,它在头文件中typedef为unsignedint类型1。