轉載來着:https://www.cnblogs.com/chenwenbiao/archive/2011/11/04/2236679.html
如果要給二維數組(m*n)分配空間,代碼可以寫成下面:
char **a, i; // 先分配m個指針單元,注意是指針單元 // 所以每個單元的大小是sizeof(char *) a = (char **) malloc(m * sizeof(char * )); // 再分配n個字符單元, // 上面的m個指針單元指向這n個字符單元首地址 for(i = 0; i < m; i++) a[i] = (char * )malloc(n * sizeof(char ));
釋放應該是:
int i; for(i=0;i<m;i++) free((void *)a[i]); free((void *)a);