我希望我的函数创建一个数组并为指向函数的 n
指针分配内存(例如,没有参数并返回 int 的函数)并返回指向该数组的指针。
我试过:
void* f(int n){
return calloc(int (*arrayName[])(void),n);
}
但是我遇到语法错误。我是 c
的新手,我尝试了一个小时来研究如何解决这个问题,但没有成功。使用 man
页面我认为 calloc
是可行的方法,但我可能错了。
最佳答案
使用 typedef
让您的生活更轻松:
typedef int (*fp)();
fp * f(size_t n)
{
return calloc(n, sizeof(fp));
}
手动声明:int (*f(size_t n))()
关于c - 将内存分配给指向函数的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14072053/