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

C语言中的sizeof和strlen

在C语言中,sizeof一般用来计算数组的长度,或者数据类型的长度。

strlen:运行期从起始地址开始逐字节扫描,遇到第一个 '\0' 就停止,返回的是“首个终止符之前的字节数”,不包含 '\0'。
sizeof:编译期(对类型/对象)或运行期常量表达式求对象“所占总大小(字节数)”,不做扫描;对字符串字面量或真实数组得到的是“数组全部容量”,包含结尾自动添加的那个 '\0';对指针得到的是指针本身大小(4 或 8 字节),与指向内容无关。
所以,只有 strlen 具有“遇到 '\0' 结束”的扫描语义;sizeof 没有这一过程。两者的结果常常不同。

strlen("ABC")        == 3
strlen("A\0B")       == 1   // 中间 '\0' 截断
strlen("")           == 0sizeof("ABC")   == 4   // 'A','B','C','\0'
sizeof("A\0B")  == 4   // 字面量里包含 'A','\0','B' + 末尾自动再加 '\0'

对于已定义的数组

char a[] = "ABC";
sizeof(a) == 4
strlen(a) == 3

对指针变量:

char *p = "ABC";
sizeof(p)      // 指针大小:4(32位)/8(64位)
strlen(p) == 3 // 运行期扫描 p 指向的那段

http://www.dtcms.com/a/578810.html

相关文章:

  • Y迷宫刺激器 MG-3S型Y迷宫刺激器
  • 弹幕网站开发代码公众号网页源码
  • 微信外链网站开发网络推广运营推广
  • 矩阵的运算(二)
  • 专业的单位网站开发开发企业管理网站建设
  • 泰安网站建设制作电话号码机械设备怎样做网络推广
  • 移动硬盘灯亮但不读取无法识别的解决方法
  • 制作销售网站有哪些规划一个电子商务网站
  • flash+xml地图网站奉贤做网站价格
  • 微信小程序开发:详细解读onLoad生命周期函数
  • 太平洋手机上海网站制作 优化
  • 使用chrony配置时间同步
  • 管理公司网站一般做什么做网站需要源码
  • 品牌官方网站建设中国防疫政策马上要变化了
  • wrk 压测工具教程(Ubuntu22 实战版)
  • 郑州金水区网站建设动漫双人互动模板
  • 网站优化推广seo公司上海企业网站建设价格
  • Dataround非结构化数据同步
  • 29. HTTP
  • 人工智能+医疗卫生:如何加速AI医疗创新从实验室到临床的转化
  • 红酒公司网站建设手机网站比例尺寸
  • A 的 B 次方(信息学奥赛一本通- P1616)(快速幂模版题比较简单)
  • 用做网站使用的图片文化传媒公司广告宣传
  • google属于搜索引擎类网站.软件开发项目经理的工资一般多少
  • css学习9
  • 校园文化建设网站素材wordpress后台主题插件
  • 网站建设算什么行业口碑营销的策略
  • Hadess零基础学习,如何管理Composer(PHP)制品
  • 建网站什么样的域名最好aspcms 你的网站未安装 请先安装
  • 微服务入门级学习 - 微服务技术栈汇总