[应用方案] 基于结构体的面向对象编程技巧

[复制链接]
1085|7
 楼主| earlmax 发表于 2023-8-31 07:00 | 显示全部楼层 |阅读模式
一、面向对象
面向对象是软件开发方法,是相对于面向过程来讲的。通过把数据与方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式
单片机C语言的面向对象编程,是利用结构体,将变量、指针、函数等进行封装,达到编程更加方便、程序可读性更好、方便移植等目的。
二、知识说明
1、结构体
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
常用的定义方法:
typedef struct
{
变量;
指针;
函数指针;
} 结构体名称_t;
2、指针
指针是地址,指向内存中的变量。
常用的定义方法:数据类型 * 指针名;
3、函数指针
函数指针是指向函数的指针变量。
常用的定义方法:返回值类型 ( * 指针变量名) ([形参列表]);
三、编程说明
1、主函数如下:
系统初始化后,进入主循环,通过结构体调用system文件的函数。
2、结构体类型定义
定义1个变量与2个函数指针。
串口类型定义方法,通过结构体,将串口进行封装。
3、结构体变量定义
定义结构体变量,并进行初始化。 对于函数指针,在c文件中定义函数,再将函数名赋值给函数指针,这样,就可以通过结构体的函数指针调用c文件中的函数。
4、运行函数
由于使用结构体的函数指针调用函数,函数可以声明为static类型,安全性更好。
四、小结
单片机C语言的面向对象编程,是利用结构体,将变量、指针、函数等进行封装,达到编程更加方便、程序可读性更好、方便移植等目的。

tpgf 发表于 2024-3-1 13:51 | 显示全部楼层
我们使用结构体的目的或者说结构体的 优点是什么呢
xiaoqizi 发表于 2024-3-1 14:29 | 显示全部楼层
在结构体里边可以定义函数吗
晓伍 发表于 2024-3-1 14:58 | 显示全部楼层
结构体是让一些很散的数据变得很整,不管是网络传输,还是函数传参,还是为了便于你肉眼管理
木木guainv 发表于 2024-3-1 19:45 | 显示全部楼层
使用结构体给使用者的观感比较友好
wowu 发表于 2024-3-1 20:16 | 显示全部楼层
如果结构体声明为静态的 会不会占用资源过多呢
ClarkLLOTP 发表于 2024-3-5 15:36 来自手机 | 显示全部楼层
这个怎么面向对象编程啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

1795

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部