当前位置:首页 > 科技  > 软件

深入解析C++中Sizeof和Strlen的奥秘:区别、应用与技巧全揭秘!

来源: 责编: 时间:2024-04-09 09:03:07 289观看
导读sizeof 和 strlen 是 C++ 中用于处理字符串的两个不同的操作符,它们的作用和使用场景有很大的区别。sizeof操作符:区别:sizeof 是一个运算符,不是一个函数,用于获取一个类型或变量的字节大小。对于数组,sizeof 返回整个数组

YNr28资讯网——每日最新资讯28at.com

sizeof 和 strlen 是 C++ 中用于处理字符串的两个不同的操作符,它们的作用和使用场景有很大的区别。YNr28资讯网——每日最新资讯28at.com

sizeof操作符:

区别:

  • sizeof 是一个运算符,不是一个函数,用于获取一个类型或变量的字节大小。
  • 对于数组,sizeof 返回整个数组的字节大小。
  • 对于指针,sizeof 返回指针本身的字节大小,而不是指针指向的内存块的大小。

应用和示例:

#include <iostream>int main() {    int integerVar;    double doubleVar;    char charArray[10];    char* charPointer;    std::cout << "Size of int: " << sizeof(integerVar) << " bytes" << std::endl;    std::cout << "Size of double: " << sizeof(doubleVar) << " bytes" << std::endl;    std::cout << "Size of char array: " << sizeof(charArray) << " bytes" << std::endl;    std::cout << "Size of char pointer: " << sizeof(charPointer) << " bytes" << std::endl;    return 0;}

上述代码中,sizeof 被用于获取不同类型和变量的字节大小,输出结果将显示它们在内存中占用的空间大小。YNr28资讯网——每日最新资讯28at.com

strlen函数:

区别:

  • strlen 是一个函数,用于计算字符串的长度,即字符串中的字符数,不包括终止符 /0
  • 对于字符数组,strlen 返回数组中第一个字符到 /0 终止符的字符数。
  • 对于指针,strlen 返回指针指向的字符串的长度,同样不包括终止符 /0

应用和示例:

#include <iostream>#include <cstring>int main() {    const char* str = "Hello, World!";    std::cout << "Length of /"" << str << "/": " << strlen(str) << " characters" << std::endl;    char charArray[] = "C++ is fun!";    std::cout << "Length of /"" << charArray << "/": " << strlen(charArray) << " characters" << std::endl;    return 0;}

上述代码中,strlen 用于获取字符串的长度,输出结果将显示每个字符串中的字符数。YNr28资讯网——每日最新资讯28at.com

注意事项:

  • sizeof 和数组: sizeof 返回整个数组的字节大小,而不是数组中的元素个数。如果需要获取数组中的元素个数,可以使用 sizeof(array) / sizeof(array[0]) 的方式。
  • strlen 和字符串终止符: strlen 计算字符串的长度时,不包括字符串终止符 /0。因此,实际存储的字符数是 strlen 返回的值加上终止符。
  • 指针的 sizeof: 对指针使用 sizeof 会返回指针本身的字节大小,而不是指向的数据的大小。要获取指针指向的数据大小,需要使用其他方式,如通过解引用指针后再使用 sizeof

sizeof 主要用于获取数据类型或变量的字节大小,而 strlen 用于获取字符串的长度。在使用这两者时,需要注意其返回值的含义和用途,以避免出现错误。YNr28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-82177-0.html深入解析C++中Sizeof和Strlen的奥秘:区别、应用与技巧全揭秘!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 追觅科技 x 抖音商城开新日火力全开,助力品牌营销解锁新增量

下一篇: Python数据分析必备:Pandas中Rolling方法的完全指南

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的&ldquo;头腾
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz&ldquo;难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?&rdquo;这一番话,出自百合网联合创
  • 认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的&ldquo;网红&rdquo;。7月5日至9日,为期5天的东方甄选&ldquo;甘肃行&rdquo;首次在自有App内直播,
  • 华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    在今日举行的2023年华为云数字文娱AI创新峰会上,华为云全球Marketing与销售服务总裁石冀琳表示,华为云将在后续推出盘古数字人大模型,可帮助用户12小
  • iQOO 11S新品发布会

    iQOO将在7月4日19:00举行新品发布会,推出杭州亚运会电竞赛事官方用机iQOO 11S。
Top