这就是我创建2d数组的方式。
Space **create_map( int row, int col) {
Space **map = malloc(row * sizeof(Space*));
for (int i = 0; i < row; ++i)
map[i] = malloc(sizeof(Space) * col);
return map;
}
这是结构的组成部分
typedef struct Space{
char character;
int isVisited;
int row;
int column;
int stepCount;
}Space;
我将如何释放它?
答案 0 :(得分:3)
您需要从分配内存时以“反向”释放内存。因此,首先,您需要释放数组(或其他结构)的元素,然后释放指针。
void freeMap(Space map){
for (int i = 0; i < row; ++i)
free(map[i]);
free(map);
}