打印
[C语言]

如何拷贝函数到结构体数组里面?

[复制链接]
988|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 | 只看该作者
问的就有问题
什么叫“拷贝函数到结构体数组里面”

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

使用特权

评论回复
评论
eydj2008 2019-3-6 08:22 回复TA
因为他不理解函数是个什么东西 有点玄乎 
板凳
憨厚诚实大叔| | 2019-3-5 17:26 | 只看该作者
函数指针赋值

使用特权

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

本版积分规则

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

55

主题

339

帖子

4

粉丝