如何使用alloca分配C函数指针?

时间:2011-07-30 01:43:05

标签: c function-pointers alloca

2 个答案:

答案 0 :(得分:7)

更改此行:

task* tnew = (task*)&queue[0];

task* tnew = (task*)queue[0];

因为queue[0]已经是指针;你不需要拿它的地址。您在blah中遇到了同样的问题。你的printf不会崩溃,但它会打印出指针的地址,而不是指针的值,这可能不是你想要的。

答案 1 :(得分:0)

也许您可能还想传递参数“v”?

t->f = blah; // BAD

t->f = blah (SOMETHING); // Better...