strlen和sizeof区别

51 篇文章 1 订阅

strlensizeof是C/C++中用于获取字符串长度和内存大小的两个不同的操作。

strlen是一个函数,用于计算字符串的长度(不包括终止空字符'\0')。它接受一个以空字符结尾的字符串作为参数,并返回字符串中字符的数量。在计算长度时,strlen会从字符串的起始位置开始逐个遍历字符,直到遇到终止空字符为止。例如:

char str[] = "Hello";
size_t length = strlen(str); // length = 5

sizeof是一个操作符,用于获取类型或对象在内存中所占的字节数。它可以用于获取数据类型的大小,也可以用于获取数组、结构体、指针等对象的大小。sizeof在编译时计算,因此可以在程序中使用。例如:

char str[] = "Hello";
size_t size1 = sizeof(str); // size1 = 6 (包括终止空字符)
size_t size2 = sizeof(char); // size2 = 1 (char类型在大多数系统中占一个字节)

需要注意的是,sizeof操作符返回的是对象或类型所占用的字节数,因此在计算数组的大小时会包括数组元素的个数乘以每个元素的大小。而strlen函数只计算字符串的长度,不包括字符串的终止空字符。

总结如下:

  • strlen是一个函数,用于计算字符串的长度。

  • sizeof是一个操作符,用于获取类型或对象在内存中所占的字节数。

  • strlen计算的是字符串的长度,不包括终止空字符。

  • sizeof计算的是对象或类型所占的字节数,包括终止空字符(对于字符数组)。

  • strlen在运行时计算,sizeof在编译时计算。

  • sizeof可以用于获取数据类型的大小,也可以用于获取数组、结构体、指针等对象的大小。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

What’smean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值