gpt4 book ai didi

c - 我的回调结构不起作用

转载 作者:行者123 更新时间:2023-11-30 17:27:57 24 4
gpt4 key购买 nike

我有这个代码:

/* ... headers ... */

struct my_callback_struct {

int data;
int (*callback_func)(struct my_callback_struct *p, int data);
};

int reg(struct my_callback_struct *p, int data)
{
return 1;
}

void init(struct my_callback_struct *p)
{
p->callback_func = ®
}

int main ()
{

struct my_callback_struct *p;
init(p);

printf("%d", p->callback_func(p,12));

return 0;
}

所以,基本上我尝试将 p->callback_func 与函数“reg”映射。但是当我编译它时,它说没有错误,但有段错误或其他错误。我返回 1 只是为了检查它是否有效...

我做错了什么?

最佳答案

您只是还没有为您的struct 实例分配内存。尝试类似的事情

 struct my_callback_struct s;
init(&s);

printf("%d", s.callback_func(p,12));

或者在调用 init 之前为您的 p 调用 malloc

关于c - 我的回调结构不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26203884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com