我正在创建一个指向结构的指针,以在 C 中使用 malloc 创建一个动态数组,但我得到一个调用结构数组的分段错误。这是我的代码的简要说明:
#include <stdio.h>
typedef struct {
int test1;
int test2;
}testStruct;
int main() {
testStruct **neato;
neato = (testStruct **) malloc( sizeof(testStruct *) * 5);
// Array of 5 for convience
// any neato[x]->testy call results in segmentation fault.
scanf("%d", &neato[0]->test1); // Segmentation fault
return 0;
}
我尝试了其他调用,例如 (*neato)[0].test1 并且都导致分段错误。这显然不是正确的方法,否则我的 GNU 编译器已经严重过时。