c - 将内存分配给指向函数的指针数组

标签 c memory

我希望我的函数创建一个数组并为指向函数的 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/

相关文章:

android - 向 Gallery 添加一个简单的 ScrollView 会导致内存泄漏

python - Python 字典的内存高效替代方案

c++ - jenkins 在构建 cpp 代码时无法识别错误

c - 安全浮点除法

c - 尝试分配一系列数组以包含数组中的名称

c - 如何在运行时确定哪个版本的 libc-lock.h 使用了 : NPTL or stub?

c++ - 从套接字读取到缓冲区

.net - 拥有多个 DLL 好还是单个大 DLL 好?

安卓内存测试

c - C 中函数将指向局部静态/全局变量的指针作为左值返回