c语言在堆(内存)中创建二维数组
int ** CreateTwoIntArray(int row,int line,int **array){ int *ptr = NULL; int i; ptr = (int*)malloc(row*line*sizeof(int)); array = (int**)malloc(row*sizeof(int*)); for(i=0;i<row;i++) array[i] = ptr+i*line; for(i=0;i<row*line;i++)//赋值 ptr[i] = 0; return array;}
用完了不要忘记free,注意顺序:
free(array[0]);
free(array);