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

嵌入式学习笔记C语言阶段--14可变长数组

1. 数组问题

基本数组常见问题

  • 数组容量一旦确定无法修改。

  • 数组的存储类型无法修改。

  • 数组不得作为返回值类型。

设计结构体类型来描述数组,增强数组的功能

2. 可变长数组结构设计

目标存储类型为 Student *,数组中的每一个元素都是一个学生结构体指针。

typedef struct student_array
{    /*elements 在这里可以认为是一个指针数组,存储类型为Student * 学生结构体指针,因为当前存储数据的内存空间在内存的堆区,需要通过指针访问。相当于通过当前 elements 指针访问对应的内存空间,得到的是一个 Student * 指针,所以当前 elements 类型是 Student ** 二级指针*/Student ** elements;/*当前底层 elements 数组的容量*/size_t capacity;/*当前底层 elements 有效元素个数*/size_t size;
} Student_Array;

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

相关文章:

  • 【Elasticsearch】数据预处理(含实战案例)
  • 基于GNU Radio Companion搭建的AM信号实验
  • AI Agent实战 - LangChain+Playwright构建火车票查询Agent
  • 初探Qt信号与槽机制
  • 【卫星通信】卫星与5G深度融合的架构研究——释放非地面网络潜能,构建全球无缝连接【3GPP TR 23.700-19 V0.1.0 (2025-04)】
  • C++继承和多态
  • Kafka - 并发消费拉取数据过少故障分析
  • 从技术视角解析星黎语音交互机器人的创新与行业影响
  • 腾讯云配置了国内镜像依然docker search失败
  • 【Flutter】性能优化总结
  • Android14关机流程
  • CocosCreator 之 ScrollView拓展:上拉、下拉及List的拓展
  • 深入剖析 Celery:分布式异步任务处理的利器
  • 2025虚幻5蓝图编辑器的细节面板调不出来
  • 模块拆解:一览家政维修小程序的“功能蓝图”
  • 【嵌入式硬件实例】-555定时器实现烟雾和易燃气体泄露检测
  • Laravel模板Blade 用法 x-layouts.guest 和x-guest-layout 什么区别
  • docker 安装jobe服务器配置Moodle的coderunner插件
  • 「Linux文件及目录管理」目录结构及显示类命令
  • Mysql数据库安装图解
  • 硬编码(前缀指令)
  • 【精选】计算机毕业设计SpringBoot车辆保险理赔平台 保险登记 出险申报 理赔审核进度管理系统源码+论文+PPT+讲解
  • 学习Oracle------Oracle和mysql在SQL 语句上的的异同 (及Oracle在写SQL 语句时的注意事项)
  • Python 标准库之 math 模块
  • ES+索引库文档操作
  • JavaScript 将一个带K-V特征的JSON数组转换为JSON对象
  • Spring Cloud 原生中间件
  • Spring Cloud Alibaba 中间件
  • rt-thread的红外遥控开源库使用(裸机版本)记录.
  • Flutter 与原生技术(Objective-C/Swift,java)的关系