#include <stdio.h>
void handle(int x, void *y, char *z)
{
printf("num = %d , str = %s\n", x + *(int *)y, z);
}
int main()
{
int num = 1;
int *y;
y = #
// handle(1, y, "zzy");
typedef void (*P)(int x, void *y, char *z);
// p(1, y, "zzy");
// (*p)(1, y, "zzy");
P p = handle;
P *callbacks = (P *)malloc(3 * sizeof(P));
for (int i = 0; i < 3; i++)
{
memcpy(&callbacks[i], &p, sizeof(P));
}
callbacks[0](1, y, "zzy1");
callbacks[1](2, y, "zzy2");
callbacks[2](3, y, "zzy3");
return 0;
}
分配内存存储函数指针
最新推荐文章于 2022-05-23 10:37:35 发布