2016 - 2024

感恩一路有你

sizeofstrlen的区别 strlen与sizeof()的区别?

浏览量:2633 时间:2021-03-12 08:40:08 作者:admin

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的区别例题

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。