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

C语言字符教组占⽤内存怎样算?

一、问题

有三个字符数组:

char a[] = "abcd"; 
char b[] = {'a', 'b', 'c', 'a'};
char c[10] = "abcd";

它们各占⽤内存多少字节?

二、解答

        a 占5个字节,因为除了4个字符,系统还会⾃动分配⼀个 ‘\0’。

        b 占4 个字节,如果字符数组以数组⽅式初始化,⽽不是以字符串⽅式初始化,那么最后没有那个'\0'。

        c 占10个字节。前4个字节是“abcd”,第 5个字节是'\0',后5个字节⽆定义。

三、总结

        以上算的是占⽤内存的⼤⼩,如果计算字符串长度,以上三个字符串长度都是4。 计算占⽤内存空间⽤ sizeof(变量名),计算字符串长度⽤ strlen(变量名)。

相关文章:

  • 海外媒体宣发:十大国外中文网站-大舍传媒
  • 【短接笔记本或者台式机的CMOS针脚解决电脑开机无法启动BIOS无法进入问题】
  • 【几何】平面方程
  • vue3,ref和reactive声明变量有什么区别,分别怎么用
  • Linux虚拟机的安装部署--尚硅谷笔记
  • 桥接模式简介
  • CentOS7 防火墙(firewalld)常规操作
  • 【自然语言处理】统计中文分词技术(一):1、分词与频度统计
  • 语言模型transformers调用部分 (To be continue...
  • 数据库中冗余字段
  • Java 自定义线程池实现
  • [运维] 可视化爬虫易采集-EasySpider(笔记)
  • CSS案例-2.简单版侧边栏练习
  • 通过dbeaver链接dm8数据库
  • redis优化token校验主动失效
  • 基于UDP的网络聊天室
  • rtt的io设备框架面向对象学习-内部调用流程
  • Linux相关命令(2)
  • jackson:JSON字符串(String)类型的成员序列化和反序列化
  • 【运维笔记】VM 记录一次centos虚拟机和宿主机之间ping不通的问题
  • 中日有关部门就日本水产品输华问进行第三次谈判,外交部回应
  • 小米回应SU7Ultra排位模式限制车辆动力:暂停推送更新
  • 是否有中国公民受印巴冲突影响?外交部:建议中国公民避免前往冲突涉及地点
  • 10家A股农商行去年年报:瑞丰银行营收增速领跑,常熟银行等4家净利增速超11%
  • 电商平台集体出手,多措并举助力外贸企业拓内销
  • 武契奇目前健康状况稳定,短期内将暂停日常工作