多维数组的定义问题
现在有这么几个文件main.cpp
a.cpp
a.h
b.cpp
main.cpp里面是main函数,
a.h里面定义了一个四维数组int ****x,因为要在b.cpp里使用(b.cpp使用a.h)
a.cpp里面保证x的内存:
x=(int ****)malloc(100*sizeof(int***));
for (int i=0; i<100; i++) {
x[i]=(int ***)malloc(100*sizeof(int**));
}
for (int i=0; i<100; i++) {
for (int j=0; j<100; j++) {
x[i][j]=(int **)malloc(100*sizeof(int*));
}
}
for (int i=0; i<100; i++) {
for (int j=0; j<100; j++) {
for (int k=0; k<100; k++) {
x[i][j][k]=(int *)malloc(2*sizeof(int));
}
}
}
然后在x[i][j][k][l]里面处理数据。
实行时直接出现segmentation fault。大神们能帮我看看是什么问题吗?