打印
[牛人杂谈]

基于结构体的面向对象编程技巧

[复制链接]
333|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
saservice|  楼主 | 2023-8-26 20:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、面向对象
面向对象是软件开发方法,是相对于面向过程来讲的。通过把数据与方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式
单片机C语言的面向对象编程,是利用结构体,将变量、指针、函数等进行封装,达到编程更加方便、程序可读性更好、方便移植等目的。
二、知识说明
1、结构体
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
常用的定义方法:
typedef struct
{
变量;
指针;
函数指针;
} 结构体名称_t;
2、指针
指针是地址,指向内存中的变量。
常用的定义方法:数据类型 * 指针名;
3、函数指针
函数指针是指向函数的指针变量。
常用的定义方法:返回值类型 ( * 指针变量名) ([形参列表]);
三、编程说明
1、主函数如下:
系统初始化后,进入主循环,通过结构体调用system文件的函数。
2、结构体类型定义
定义1个变量与2个函数指针。
串口类型定义方法,通过结构体,将串口进行封装。
3、结构体变量定义
定义结构体变量,并进行初始化。 对于函数指针,在c文件中定义函数,再将函数名赋值给函数指针,这样,就可以通过结构体的函数指针调用c文件中的函数。
4、运行函数
由于使用结构体的函数指针调用函数,函数可以声明为static类型,安全性更好。
四、小结
单片机C语言的面向对象编程,是利用结构体,将变量、指针、函数等进行封装,达到编程更加方便、程序可读性更好、方便移植等目的。
面向对象编程的知识点很多,本文只是简要的介绍了下,仅仅起到抛砖引玉的作用,日后设计过程中,需要不断的总结经验,沟通交流,以达到真正的理解,灵活运用。

使用特权

评论回复
沙发
tpgf| | 2024-2-1 08:14 | 只看该作者
在什么情况下使用结构体是比较好的选择呢

使用特权

评论回复
板凳
zljiu| | 2024-2-1 09:18 | 只看该作者
感觉结构体本身就是非常友好的一种数据结构

使用特权

评论回复
地板
tfqi| | 2024-2-1 21:55 | 只看该作者
在结构体里边可以有函数名吗

使用特权

评论回复
5
gwsan| | 2024-2-1 22:29 | 只看该作者
结构体的大小是由什么来决定的呢

使用特权

评论回复
6
aoyi| | 2024-2-1 23:01 | 只看该作者
C语言本身就不是一个面向对象的编程语言吧

使用特权

评论回复
7
nawu| | 2024-2-1 23:33 | 只看该作者
我对结构体最大的感触就是变量用起来非常有归属感

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

1082

帖子

2

粉丝