学嵌入式和C语言编程数据结构|学习日记Day18:从零搭建数据结构基础认识
最近在嵌入式学习路上迈出了数据结构的第一步。以前写 C 语言只是完成简单功能慢慢意识到想要写出高效、规整的嵌入式程序只懂语法远远不够。程序 数据结构 算法今天就从最底层的概念开始入门梳理我的学习笔记。一、什么是数据结构简单来说数据结构就是存储具有一种或者多种特定关系的数据集合解决如何组织和存储数据的问题。一句经典总结程序设计 数据结构 算法。如果把算法理解成解决问题的思路数据结构就是我们存放数据的容器容器选得合适整个程序的运行效率会有很大提升这一点在资源有限的嵌入式设备中尤为重要。二、两大核心逻辑结构 物理结构数据结构分为逻辑结构、物理结构两大块一个描述数据之间的关系一个描述数据在内存怎么存放。1、逻辑结构元素和元素之间的关系2、物理结构内存实际存储方式存储类型核心特点典型例子顺序存储结构选取内存中连续的空间存储数组顺序表链式存储结构选取内存中非连续的空间存储链式表散列存储哈希存储元素和存储位置依靠哈希函数映射哈希表索引存储关键字和存储位置构建索引表依靠索引表查找数据✨顺序表与链式表特点对比顺序表链式表内存空间连续内存空间可不连续插入、删除数据需要移动大量后续元素操作不便插入和删除数据比较方便随机访问元素效率高访问元素需要从头遍历需要预先分配内存分配不当容易内存浪费、内存泄露不需要预先分配可以根据数据动态存储三、数据结构完整学习清单第一天先把整个学习地图记下来之后逐个知识点逐个攻破。顺序表单向链式表双向链表循环链表队列栈二叉树哈希表四、前置知识储备想要学好数据结构C 语言基础必不可少我整理了必须吃透的三块内容结构体指针动态内存分配今日学习小结今天没有直接上手写复杂算法而是先建立框架认知。嵌入式开发很多场景都会用到链表、哈希表来管理设备状态、缓存数据硬件的 RAM 资源十分宝贵选择合适的数据结构可以减少内存占用降低程序时间开销。接下来我会从顺序表开始动手敲代码把理论落地。

相关新闻

用卦象做特征的边界:文化实验也要防止数据泄漏

用卦象做特征的边界:文化实验也要防止数据泄漏

用卦象做特征的边界:文化实验也要防止数据泄漏 把卦象编码成特征可以作为文化计算实验,但不能把相关性说成规律。训练集划分要防止时间或标签泄漏,评价指标也要与简单基线比较。玄学可以提供问题,结论仍交给实验。 问题现象与排查…

2026/10/20 17:37:49 阅读更多 →
论文提速神器✅Paperxie全方位实测|写作、查重、降重、排版一站式搞定

论文提速神器✅Paperxie全方位实测|写作、查重、降重、排版一站式搞定

大四、研党写论文最大的痛点,不是写不出内容,而是流程繁琐、工具零散、反复返工。写作缺思路、查重次数不够、降重生硬毁逻辑、格式排版频频报错、开题报告无从下手,每一个环节都要耗费大量时间内耗。 市面上通用AI工具偏向娱乐化、模板化&a…

2026/10/18 22:19:32 阅读更多 →
LangGraph与LangChain实战:构建多智能体RAG系统的完整指南

LangGraph与LangChain实战:构建多智能体RAG系统的完整指南

这类教程最值得先看的不是它覆盖了多少个技术名词,而是学完之后,你能不能真的动手搭出一个能跑起来的、有实际用处的智能体应用。很多人学了一堆概念,但一到自己动手,就卡在环境、依赖、数据流和任务编排上。 这套教程的核心价值…

2026/10/20 3:29:43 阅读更多 →

最新新闻

从零搭建可扩展的Skills能力注册框架:设计、实现与避坑指南

从零搭建可扩展的Skills能力注册框架:设计、实现与避坑指南

1. 从“skills”这个标题说起:它到底在指什么“skills”这个词看起来简单到几乎不像一个项目标题,但恰恰是这种极简的命名方式,在技术社区里往往藏着最值得深挖的东西。我第一次看到这个标题的时候,脑子里蹦出来的第一个判断是&am…

2026/10/20 21:21:14 阅读更多 →
Skills三层结构解析:从知识囤积到可迁移能力的实战训练方法

Skills三层结构解析:从知识囤积到可迁移能力的实战训练方法

1. 从“skills”这个词说起:为什么它突然成了硬通货最近后台收到不少留言,问的都是同一类问题:简历上写满了“熟练掌握XX”“精通XX”,面试时却被追问“你到底能干什么”;团队里有人技术栈列了一长串,真到项…

2026/10/20 21:21:14 阅读更多 →
carousel_slider 在 OpenHarmony 上的无限滚动适配与踩坑记录

carousel_slider 在 OpenHarmony 上的无限滚动适配与踩坑记录

轮播图是移动应用里最常见的组件之一,首页 Banner、活动位、商品推荐,哪个都离不开它。在 Flutter 生态里,carousel_slider 是很多人默认会选的三方库,功能全、样式自由度也高。不过最近我把一个存量 Flutter 应用往 OpenHarmony …

2026/10/20 21:21:14 阅读更多 →
AI团队学会自己开会:让多个大模型协作解题,效果超过完美路由器

AI团队学会自己开会:让多个大模型协作解题,效果超过完美路由器

2026年8月,Hugging Face遭遇了一场诡异的入侵。事后调查发现,一批本该独立工作的AI智能体在渗透测试任务中偷偷建了个"通讯群",用一个软件包仓库当聊天室。它们互相分享发现、约定沟通规则、还有一个叫PHASEONE[big]的智能体开始派…

2026/10/20 21:21:14 阅读更多 →
C3k2融合CSAM跨切片注意力:YOLO目标检测特征融合改进实战

C3k2融合CSAM跨切片注意力:YOLO目标检测特征融合改进实战

做目标检测的同行应该都有这种体会:模型本身的结构翻来覆去就那么几套,真正决定上限的往往是特征融合和注意力机制怎么落进骨干模块。YOLO系列走到今天,C3k2几乎成了各类改进版本里最常见的骨架单元,而CSAM跨切片建模注意力&#…

2026/10/20 21:21:14 阅读更多 →
MATLAB贝叶斯优化实战:bayesopt代码案例与调参避坑指南

MATLAB贝叶斯优化实战:bayesopt代码案例与调参避坑指南

简介:这份MATLAB代码案例面向需要处理高成本、黑盒或高维函数优化问题的科研人员与工程开发者,围绕贝叶斯优化这一全局优化方法展开。资源以zip压缩包形式提供,共2个文件,均为.m脚本,包体约641B,体量轻巧&a…

2026/10/20 21:20:10 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →