【发布时间】:2020-08-04 11:06:17
【问题描述】:
我创建了这个函数来动态分配一个 3D 数组。
int ***create_3D_Array(int nb_block, int nb_lin, int nb_col) {
int i, j;
int ***A = (int***)malloc(nb_block * sizeof(int**));
for (i = 0; i <nb_col; i++) {
A[i] = (int**)malloc(nb_col * sizeof(int*));
for (j = 0; j < nb_lin; j++) {
A[i][j] = (int*)malloc(nb_lin * sizeof(int));
}
}
return A;
}
然后我在这里使用它
int ***all_blocks = NULL;
all_blocks = create_3D_Array(54, 5, 5);
但是,它不能正常工作,因为当我想给我的第 6 个块 all_blocks[5] 赋值时,程序停止工作。
我的函数有什么错误吗?
【问题讨论】:
标签: arrays function pointers 3d malloc