请教原子哥:在一个结构体中包含函数指针有什么作用吗?

2019-07-21 00:20发布

本帖最后由 liuchang 于 2016-1-5 09:17 编辑

小弟最近在看lwip,其中netif结构体中包含几个函数指针
[mw_shl_code=c,true]struct netif {
  struct netif *next;
  ip_addr_t ip_addr;
  ip_addr_t netmask;
  ip_addr_t gw;
  netif_input_fn input;
  netif_output_fn output;[/mw_shl_code]
小弟想请问大神,这有什么作用?按照小弟的理解,在结构体中放入变量,指针,可以理解为成员的属性,可是如果放入函数指针,它有什么作用,还是某种约定?
而且,还需要在结构体外完成这个函数类型的定义,初始化,有什么必要呢?恳请大神指教~


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
国家栋梁
1楼-- · 2019-07-21 17:50
查一下链表
it_do_just
2楼-- · 2019-07-21 20:49
作用很大啊,第一个参数为相同的结构体指针,为了指向下一个ip,寻找到下一个ip的相关数据(这些数据对应各个函数),构成一个链表
myxiaoniao
3楼-- · 2019-07-21 23:41
 精彩回答 2  元偷偷看……
vwv
4楼-- · 2019-07-22 02:01
trochili 发表于 2016-1-5 22:10
那个结构体就是不同硬件平台和lwip协议栈的接口。包括各种配置和操作函数。

明白了,原来如此
tjb83981242
5楼-- · 2019-07-22 02:08
为什么我在论坛不能单独发帖问问题,要多久才可以!
our单片机
6楼-- · 2019-07-22 06:52
 精彩回答 2  元偷偷看……

一周热门 更多>