答案 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...