【发布时间】:2012-01-14 02:09:34
【问题描述】:
我想要做的事情非常简单,我只是在找出正确的语法时遇到了麻烦。
我希望我的结构看起来像这样:
struct myStruct
{
functionPointer myPointer;
}
然后我在其他地方有另一个函数,它将一个函数传递给一个函数并返回我的结构的一个实例。它的作用如下:
struct myStruct myFunction(int (*foo) (void *))
{
myStruct c;
c.myPointer = foo;
return c;
}
我怎样才能使它真正起作用?什么是正确的语法:
- 在我的结构中声明一个函数指针(显然
functionPointer myPointer;是不正确的) - 将函数地址分配给该函数指针(很确定
c.myPointer = foo不正确)?
【问题讨论】:
-
如果您返回一个myStruct *,您应该分配(例如,使用malloc)并返回分配的值。如果你返回一个 myStruct,你应该这样声明你的函数。 (现在,您声明该函数返回一个指针,但您尝试返回一个结构。)
标签: c struct function-pointers