把函数"封装"到结构体里的好处?

2019-12-22 13:50发布

我看很多人这么用,可不知道为什么,网上搜了,文章都是说可以这么用以及如何这么用,但是没有说明其中思想。

我只能猜是因为:1,封装起来后使写程序的人思路更清晰;2,不同的过程需要同一个函数,结构体可以迅速“复制”多个同样的函数?但是想想又不对,请高人解答。我觉得结构体里有变量、参数就足够方便了,想不出有什么必要把函数也放进去?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
53条回答
styleno1
1楼-- · 2019-12-24 11:37
灵活的配置函数指向,可以方便的重用。
lantian0099
2楼-- · 2019-12-24 15:00
 精彩回答 2  元偷偷看……
Andrewz
3楼-- · 2019-12-24 15:04
以前还真没见过.
C语言的内容远远超出了课堂里老师涉及的内容.
学习了.
感觉C越来越好用了.

#include "stdio.h"
struct DEMO
{
    int x,y;
    int (*func)(int,int);
};
int add2(int x,int y){return x+y;}
void main()
{
    struct DEMO demo;
    demo.func=&add2;
    printf("func(3,4)=%d ",demo.func(3,4));
}
ltby00
4楼-- · 2019-12-24 17:34
楼上的直观多了,  学习下!
prozmx
5楼-- · 2019-12-24 22:20
22思路很好啊
gongxd
6楼-- · 2019-12-25 00:52
error_dan 发表于 2014-3-25 10:40
建议先看一下本坛 傻孩子 大师的一系列文字,深入学习的话,高焕堂老师有本OOPC的书非常不错.

我个人的一点 ...

能上一段吧 费事安装了

一周热门 更多>