比方说,我有一个名为“富”结构和里面我有一个指针在C的结构内包裹着指针的二维数组分配内存
typedef struct Foo {
Stuff* (*stuff)[16];
} Foo;
的二维数组我有一个initializeFoo功能像这样,对于整个对象
void initializeFoo(Foo **foo) {
*foo = (Foo*)malloc(sizeof(Foo));
}
分配内存然而,只是我导致分段故障(核心转储)上运行我的程序 我在想,我需要分配的内存*的东西时,但我该怎么做?我会坚持在initializeFoo函数?
我的猜测是使用:
(*foo)->stuff = (Stuff*(*)[16])malloc(sizeof(Stuff))
有人能帮助我吗?