全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++ sizeof和strlen的区别_C++内存占用与字符串长度计算

sizeof是编译时运算符,计算变量或类型所占字节数,对数组返回总大小,对指针返回指针本身大小(如8字节),包含'\0';strlen是运行时函数,计算字符串实际字符数,不包含'\0',需以'\0'结尾,仅适用于C风格字符串。

sizeofstrlen 在 C++ 中都与“大小”有关,但它们的作用完全不同。理解它们的区别对正确处理内存和字符串至关重要。

sizeof 是编译时运算符,计算的是内存占用

sizeof 用于获取数据类型或变量在内存中所占的字节数,结果在编译时确定。它不关心内容,只关心类型或对象的存储空间大小。

  • 对数组使用 sizeof,返回整个数组的字节长度
  • 对指针使用 sizeof,返回指针本身的大小(如 8 字节在 64 位系统)
  • 对字符串字面量使用 sizeof,包含末尾的 '\0' 空字符
例如:
char str[] = "hello";
sizeof(str); // 结果是 6(5 个字符 + 1 个 \0)

strlen 是函数,计算字符串实际长度

strlen 定义在 头文件中,用于计算以 '

strlen 定义在 头文件中,用于计算以 '\0' 结尾的字符串中字符的个数。它从起始地址开始遍历,直到遇到 '\0' 停止,不包含 '\0' 本身。

' 结尾的字符串中字符的个数。它从起始地址开始遍历,直到遇到 '

strlen 定义在 头文件中,用于计算以 '\0' 结尾的字符串中字符的个数。它从起始地址开始遍历,直到遇到 '\0' 停止,不包含 '\0' 本身。

' 停止,不包含 '

strlen 定义在 头文件中,用于计算以 '\0' 结尾的字符串中字符的个数。它从起始地址开始遍历,直到遇到 '\0' 停止,不包含 '\0' 本身。

' 本身。

  • 只能用于以 '\0' 结尾的字符数组或字符串指针
  • 运行时计算,依赖字符串内容
  • 对指针指向的字符串有效,但无法检测数组越界
例如:
char* ptr = "hello";
strlen(ptr); // 结果是 5

常见误区对比

当使用指针指向字符串时,sizeof 和 strlen 表现差异明显:

  • char* s = "hello"; sizeof(s) 返回指针大小(通常是 8),而 strlen(s) 返回 5
  • sizeof 不区分字符串内容,int、double 类型照样能用
  • strlen 只适用于 C 风格字符串,对普通数组或非字符串指针调用可能导致未定义行为

基本上就这些。记住:sizeof 看的是“占了多少空间”,strlen 数的是“有多少字符”。用错地方容易引发内存相关 bug。


# 字节  # c++  # 区别  # 内存占用  # 数据类型  # strlen  # 运算符  # 字符串  # char  # int  # double  # 风格字符串  # 指针  # 对象  # bug  # 遍历  # 的是  # 不包含  # 头文件  # 适用于  # 时计  # 所占  # 结果是  # 有多少  # 占了 


相关文章: 如何通过VPS建站实现广告与增值服务盈利?  网站制作服务平台,有什么网站可以发布本地服务信息?  制作公司内部网站有哪些,内网如何建网站?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  css网站制作参考文献有哪些,易聊怎么注册?  建站主机功能解析:服务器选择与快速搭建指南  如何在服务器上配置二级域名建站?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  如何快速查询网站的真实建站时间?  电商平台网站制作流程,电商网站如何制作?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  广州美橙建站如何快速搭建多端合一网站?  如何通过云梦建站系统实现SEO快速优化?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  c# 服务器GC和工作站GC的区别和设置  如何快速配置高效服务器建站软件?  制作网站的模板软件,网站怎么建设?  建站主机类型有哪些?如何正确选型  微信小程序制作网站有哪些,微信小程序需要做网站吗?  建站之星如何通过成品分离优化网站效率?  如何配置WinSCP新建站点的密钥验证步骤?  如何通过wdcp面板快速创建网站?  如何通过西部数码建站助手快速创建专业网站?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  如何在阿里云香港服务器快速搭建网站?  如何在IIS7中新建站点?详细步骤解析  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  C++中引用和指针有什么区别?(代码说明)  如何在Windows虚拟主机上快速搭建网站?  如何确保FTP站点访问权限与数据传输安全?  如何在景安云服务器上绑定域名并配置虚拟主机?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  免费网站制作appp,免费制作app哪个平台好?  Python多线程使用规范_线程安全解析【教程】  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  制作销售网站教学视频,销售网站有哪些?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  如何高效配置香港服务器实现快速建站?  建站之星后台密码遗忘?如何快速找回?  建站三合一如何选?哪家性价比更高?  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何在腾讯云免费申请建站?  如何选择适合PHP云建站的开源框架?  建站之星云端配置指南:模板选择与SEO优化一键生成  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何做网站制作流程,*游戏网站怎么搭建?  北京网站制作公司哪家好一点,北京租房网站有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。