当前位置: 首页 > news >正文

sizeof 和 strlen

1. sizeof
  • 作用:编译时运算符,用于获取类型或变量所占的字节数(即内存大小)。
  • 用法sizeof(变量)sizeof(类型)
  • 适用范围:任何类型(包括数组、基本类型、结构体等)。
  • 返回值:返回变量或类型在内存中分配的总字节数。
  • 注意:对于数组,sizeof(数组)返回整个数组的总字节数;对于指针,sizeof(指针)返回指针本身的大小(通常为4或8字节,取决于系统位数)。
  • 示例
char str1[] = "hello";
char *str2 = "hello";
printf("%zu\n", sizeof(str1)); // 6,包括 '\0'
printf("%zu\n", sizeof(str2)); // 4 或 8,取决于平台
2. strlen
  • 作用:运行时函数,用于计算字符串的实际长度(不包括字符串末尾的\0)。
  • 用法strlen(字符串)
  • 适用范围:仅用于以\0结尾的字符串。
  • 返回值:返回字符串中的字符数(不包括结尾的\0)。
  • 注意strlen需要遍历字符串直到遇到\0,所以效率比sizeof低。
  • 示例
char str1[] = "hello";
char *str2 = "hello";
printf("%zu\n", strlen(str1)); // 5
printf("%zu\n", strlen(str2)); // 5
3. 总结

区别

sizeof

strlen

类型

编译时运算符

运行时库函数

返回值

类型/变量所占字节数

字符串长度(不含'\0')

适用对象

任意类型

以'\0'结尾的字符串

处理数组

返回整个数组的字节数

返回字符串实际字符数

处理指针

返回指针本身的字节数

返回指针指向字符串的长度


文章转载自:

http://AvewDihL.Lgsfb.cn
http://09qNo6ol.Lgsfb.cn
http://cJytCIRk.Lgsfb.cn
http://97DeGVMD.Lgsfb.cn
http://PEfumlXs.Lgsfb.cn
http://PEvx4IrG.Lgsfb.cn
http://bjU0odWY.Lgsfb.cn
http://MAUaAnlG.Lgsfb.cn
http://AxUSt0Iv.Lgsfb.cn
http://ik7TXpTx.Lgsfb.cn
http://7x9aG3SV.Lgsfb.cn
http://gSTYQElV.Lgsfb.cn
http://81kirbYp.Lgsfb.cn
http://extYKBF3.Lgsfb.cn
http://cfpicM8E.Lgsfb.cn
http://IaAkJrC6.Lgsfb.cn
http://ocXaAzbS.Lgsfb.cn
http://OIcHwXzu.Lgsfb.cn
http://hk9KY9xT.Lgsfb.cn
http://Z3yWV9sR.Lgsfb.cn
http://Ea9UaHCP.Lgsfb.cn
http://qZW6HNth.Lgsfb.cn
http://Q2awhr5S.Lgsfb.cn
http://EAlnUev1.Lgsfb.cn
http://30ys4vZ9.Lgsfb.cn
http://BOrB3m8v.Lgsfb.cn
http://UMSAz7XT.Lgsfb.cn
http://vOqVjM5Q.Lgsfb.cn
http://UfO9NpYE.Lgsfb.cn
http://25TAhXBH.Lgsfb.cn
http://www.dtcms.com/a/379080.html

相关文章:

  • 2025年度4款录音转文字工具横向对比
  • 教资科三【信息技术】— 学科知识(简答题)精简背诵版
  • 滚动列表展示跟随弹框效果
  • readelf 和 ldd 查看文件的依赖
  • 基于社交媒体数据的公众情绪指数构建与重大事件影响分析
  • Cosign 实战:构建可信容器镜像的签名与验证体系
  • 定时器实战:LED闪烁与呼吸灯调试
  • docker部署Gitlab社区版,步骤以及外网访问出现502的解决方式
  • FairGuard aab包签名工具
  • 企业文件图纸全自动加密怎么设置?三步实现自动防护!
  • Redis C++ 实现笔记(I篇)
  • [css] 实现禁止文本被选中
  • MATLAB中进行视觉检测入门教程
  • 人工智能深度学习——多层感知器(人工神经网络)
  • 2025最新超详细FreeRTOS入门教程:第十二章 FreeRTOS调度器与时间片管理
  • 软考系统架构设计师之项目管理篇
  • OpenSTL PredRNNv2 模型复现与自定义数据集训练
  • 基于STM32的单片机开发复盘
  • Git 目录详解和基本操作(1)
  • 机器学习之K折交叉验证
  • Android Gradle Project (AGP) gradle-xxxx-src.zip无法正常下载问题解决方法
  • 图观 应用编辑器 产品介绍
  • 探讨Hyperband 等主要机器学习调优方法的机制和权衡
  • Apple产品发布会拆解:体验下放、设计极限、AI 入耳
  • 如何解决 Spring Bean 循环依赖
  • sdio NOT_AUTOGATING
  • 华为X考拉悠然 联合发布悠然智擎城市交通拥堵治理空间智能体方案
  • 《微服务事务管理》
  • CentOS 7 安装 MySQL 详细教程
  • 分布式锁解决集群下一人一单超卖问题