C中分配和释放二维数组
/*
动态分配二维数组,在数据量很多的时候也不会导致程序崩溃
注意要free掉
sizeOfElement: 数组中每个元素的大小
row: 行数,从1开始计数
col: 列数,从1开始计数
*/
void ** mallocTwoDimensionArray(unsigned sizeOfElement, unsigned row, unsigned col){
void **dp = malloc(sizeof(void *) * row);
for (int i = 0; i< row; i++)
dp[i] = malloc(sizeOfElement*col);
return dp;
}
void freeTwoDimensionArray(void *arr, unsigned row, unsigned col){
int ** intArr = (int **)arr;
for (unsigned i = 0; i < row; ++i){
free(intArr[i]);
}
free(arr);
}