c语⾔中如何动态初始化⼆维数组
许多c语⾔书中,很少谈到如何⽤malloc动态初始化⼀个⼆维数组。下⾯,我写了⼀段代码,要动态初始化⼆维数组。
#include<stdio.h>
#include <stdlib.h>
int** test(int m, int n) {
int** a=(int**)malloc(sizeof(int*)*m);
int i;
for (i=0;i<m;i++) {
*(a+i) = malloc(sizeof (int)*n);
}
int j=0;
int k=0;
for (i=0;i<5;i++) {
for (j=0;j<5;j++) {
*(*(a+i) +j)=k++;
}
}
return a;
}
void release(int **p, int m) {
int i=0;
定义数组初始化
for (i=0;i<m;i++) {
free(*(p+i));
}
free(p);
}
int main() {
int** a = test(5,5);
int i;
release(a, 5);
for (i=0;i<5;i++)  {
printf("%d\n", a[i][4]);
}
}
以上代码中,有申请空间的,有release的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。