sizeofstrlen的区别 strlen与sizeof()的区别?
strlen与sizeof()的区别?
1、打开VS2017创建一个C 控制台应用程序。
2、首先,功能不同。sizeof()是操作符,计算任意类型参数所占内存大小。
3、strlen()是函数,计算以“0”结束的字符串长度,计算长度不包括“0”。
4、其次,参数不同。当将字符数组作为sizeof()的参数时,计算字符数组占用内存大小。
5、当将字符数组作为strlen()的参数时,字符数组转化为char*。
C语言中strlen与sizeof的区别是什么?
strlen和sizeof具体区别如下:
1、strlen为C语言库函数之一;sizeof为一个运算符,是C语言关键字之一。
2、strlen功能为求字符串长度, 参数为char *类型。声明为
int strlen(const char *s)
会计算s开始,一直到字符串结束符"0"所有元素个数,不包括0。
sizeof运算对象可以是任何变量或类型,计算结果为该变量或类型占的实际长度(内存字节数)。
3、strlen作为函数,其后参数必须在括号内;
sizeof在计算变量占字节数时,可以带括号也可以不带,但如果计算数据类型占字节数,则必须带括号。
4、以字符串作为参数为例,具体说明二者区别如下:
(1) 定义char s[10] = "abcd"
strlen(s)为字符串长度,也就是实际字符数,结果为4.
sizeof(s)为数组s的大小,值为10.
(2) 定义char *s = "abcd"
strlen(s)和strlen("abcd")相同,都是4。
sizeof(s)为指针占空间大小,取决于机器字长。32位机下,该值为4.
sizeof("abcd")为字符串实际占内存大小,包括"0", 值为5。
sizeofstrlen的区别 strlen函数用法 sizeof和strlen的区别例题
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。