C中分配和释放二维数组

  1. /*
  2. 动态分配二维数组,在数据量很多的时候也不会导致程序崩溃
  3. 注意要free掉
  4. sizeOfElement: 数组中每个元素的大小
  5. row: 行数,从1开始计数
  6. col: 列数,从1开始计数
  7. */
  8. void ** mallocTwoDimensionArray(unsigned sizeOfElement, unsigned row, unsigned col){
  9. void **dp = malloc(sizeof(void *) * row);
  10. for (int i = 0; i< row; i++)
  11. dp[i] = malloc(sizeOfElement*col);
  12. return dp;
  13. }
  14. void freeTwoDimensionArray(void *arr, unsigned row, unsigned col){
  15. int ** intArr = (int **)arr;
  16. for (unsigned i = 0; i < row; ++i){
  17. free(intArr[i]);
  18. }
  19. free(arr);
  20. }





posted @ 2016-05-03 19:12  cmicat  阅读(294)  评论(0编辑  收藏  举报