如何在c中复制,移动或分配功能数据? 非常感谢帮助。谢谢。
例如我有:
int func(int x, int y)
{
//instructions
}
int (*copyOfFunc)(int x, int y);
在某一点上,我想在copyOfFunc中存储func。 我已经知道如何给copyOfFunc提供func的地址,但是如果我想在另一个地址中复制func怎么办?
答案 0 :(得分:0)
你究竟是什么意思
但如果我想在其他地址复制func怎么办?
?
你想让另一个指针指向你的功能吗?或者您希望函数指针存储在特定的地址中吗?
希望此代码示例可以帮助您
#include<stdio.h>
int func(int x, int y)
{
return x + y;
}
void do_please(int a, int b, int (*some_func) (int, int))
{
printf("%d, %d ? %d\n", a, b, some_func(a, b));
}
int main ()
{
printf("1, 2 ? %d\n", func(1, 2));
int (*my_func) (int, int) = func;
do_please(3, 4, my_func);
int (*other_func) (int, int) = my_func;
do_please(5, 6, other_func);
return 0;
}