[C语言] 如何拷贝函数到结构体数组里面?

[复制链接]
1393|3
 楼主| suxilong 发表于 2019-3-4 23:00 | 显示全部楼层 |阅读模式
本帖最后由 suxilong 于 2019-3-4 23:00 编辑

如下

typedef  struct {
uint8_t  msg_id;
void (*func)(uint8_t  msg_size, uint8_t  *msg)
}MSG_T;

MSG_T table[50];

void reg_func (uint8_t  msg_id, void (*deal_func)(uint8_t  msg_size, uint8_t  *msg))
{
       if(msg_id <50)
       {
             table[msg_id].msg_id = msg_id;
             table[msg_id].func = deal_func;  //可以这样拷贝函数 到结构体的成员中去吗?
       }
}

void  test(uint8_t  msg_size, uint8_t  *msg)
{
     printf(“%d ,%p”,msg_size,msg);
}

调用: reg_func (5,&test);

如果不能那样赋值,请问应该如何 将函数传入到 结构体数组里面?

ayb_ice 发表于 2019-3-5 11:48 | 显示全部楼层
问的就有问题
什么叫“拷贝函数到结构体数组里面”

这就是个函数地址赋值而已,

评论

因为他不理解函数是个什么东西 有点玄乎  发表于 2019-3-6 08:22
憨厚诚实大叔 发表于 2019-3-5 17:26 | 显示全部楼层
函数指针赋值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:没有最差,只有最懒

55

主题

340

帖子

4

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