每次我首先为二维数组分配内存时,我都会创建一个数组int**
然后使用 for 为每个元素分配内存。
例如:
int ** arr = malloc(N*sizeof(int *));
for(i=0; i< N; i++) arr[i] = malloc(M*sizeof(int));
不可能像这样分配内存:
int ** arr = malloc(N*sizeof(int[M]));
or
int ** arr = malloc(sizeof(int[N][M]));
为了避免for
?
像这样 :int (*arr)[M] = malloc(sizeof(int[N][M]));
arr
是指向int[M]
.
使用类似arr[0][M-1];
and free(arr);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)