news 2026/4/15 3:09:48

结构体struct类型定义的意义和一个vscode实用插件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
结构体struct类型定义的意义和一个vscode实用插件

最近,在看stm32的中间层LwIP的源码代码,对结构类类型定义struct有了一个新的认识,记录下来。另外,发现了一个比较好用的vscode插件也记录下来。

(1)结构体struct类型结构体类型定义。

首先,struct类型是因为某些实物的属性比较复杂,用某一个简单的类型无法描述,但是这些属性都是都是属于某一个实物,也是说本身就有在一个范围内的特性。我们都知道c语言的定义的变量都是定义在内存上,内存上的内存空间只有两种一种是相连的,另外就是不相连的。而结构体类型struct定义结构体成员变量本身就是在内存上相连的。也就是说那一众属性本身属于某一个需要描述的事物,对应的结构体类型定义的变量内部的成员变量本在在内存上是相连的。

我们都知道c语言的函数的本质是操作内存变量,因为c语言中比较常用的做法是这些内存变量打包成一个struct结构体类型,并定义对应结构体类型变量,这个结构体类型变量内部的成员在内存上本事就是相邻的,我们定义相关函数最常用的办法就是通过结构类指针类型变量去读写访问,通过对这些结构体内部成员变量读写不同的数值就实现了需要的功能(最直接的就是寄存器,寄存器的位段写入需要的数值就能操纵硬件实现不同功能,对应的真正结构体内存变量通过写入有效数据就可以在读它的时候进行判断就知道发生了什么事情,就可以指导访问其他函数,这样功能就实现了)。结构体实现变量打包,除了在硬件上像寄存器一样本身就是相连,还可以将某些模糊的属性变量进行打包成相邻的结构体内部成员变量。结构体的发明进一步约束简化了内存变量的布局分部,很大程度上简化了代码读写访问的复杂型。

(2)一个比较实用的vscode插件

最近,在读LwIP源码的时候遇到一个问题就是条件编译#if #else #end如果代码比较长,因为vscode是没有相关条件编译的折叠辅助线功能让我们一目了然条件变量在哪里结束,哪里分支了。

我发现一个插件名字叫“IFDEF Pathfinder”安装后能够在条件变量右面有不同颜色的相关提示,这样我们就可以通过快速下拉代码找到对应宏定义在哪里结束了。

这样我们就可以比较容易找到条件编译在哪里结束了(虽然也没有相关折叠功能好用)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 3:08:23

基于51单片机超声波智能垃圾桶控制系统

目录 系统概述核心硬件组成软件设计逻辑关键代码片段(C语言)应用优势注意事项 源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 系统概述 51单片机超声波智能垃圾桶控制系统是一种基于超声波测距技术的自动化垃圾…

作者头像 李华
网站建设 2026/4/13 10:33:09

本周学习总结

1. 绝对路径与相对路径 绝对路径:从文件系统根目录开始的完整路径,具有唯一性,不受当前工作目录影响 Windows 系统以盘符开头(如C:\file.txt)Linux/macOS/Unix 系统以斜杠/开头(如/home/user/file.txt&…

作者头像 李华
网站建设 2026/4/12 23:16:38

基于51单片机 智能鞋柜 语音识别 杀菌消毒无线控制DIY成品

目录 基于51单片机的智能鞋柜DIY方案硬件组成清单关键电路设计软件逻辑框架成品优化建议扩展功能实现 源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 基于51单片机的智能鞋柜DIY方案 核心功能 语音识别控制:通过LD3320等…

作者头像 李华
网站建设 2026/4/12 19:19:46

【基于STM32单片机甲烷煤气天然气报警厨房安全火灾报警火焰物联网 系统设计(实物+程序+原理图+其他资料)】

厨房,人们每天日常生活都会接触的地方,作为居民生我们每天都需要和厨房 打交道,厨房安全是我们日常生活中需要非常注重的地方。中国的厨房市场经过改 革开放三十年的发展,已经变得日趋成熟。21世纪以来,小区住宅的厨房…

作者头像 李华
网站建设 2026/4/14 6:44:30

PHP程序员学而思 = 思而学?

“学而思” ≠ “思而学” —— 这不是文字游戏,而是 认知科学与工程实践的根本分野。对 PHP 程序员而言,二者代表 两种截然不同的成长路径:前者是 输入驱动的被动学习,后者是 问题驱动的主动构建。 一、神经科学:大脑…

作者头像 李华
网站建设 2026/4/12 23:17:52

国货基金组织格奥尔基耶娃解读-万祥军| 世界经济论坛·国际科学院组织

国货基金组织格奥尔基耶娃解读-万祥军| 世界经济论坛国际科学院组织 国际货币基金组织(IMF)总裁克里斯塔利娜格奥尔基耶娃在达沃斯世界经济论坛2026年年会上的发言,引发了全球财经界的深度思考。这位保加利亚籍经济学家以"重建信任的宏…

作者头像 李华