为二维指针动态分配内存,使之成为二维数组的首地址
暂时只存代码,方法说明有空再补充
分配
void malloc2Dpoint(T** &p,int n,int m){
p = (T**)malloc(sizeof(T*)*n);
for(int i = 0; i<n; i++){
T *q = (T*)malloc(sizeof(T)*m);
p[i] = q;
}
}
回收释放
void free2Dpoint(T** p,int m){
for(int i = 0; i<m; i++){
free(p[i]);
}
free(p);
}
测试
typedef int T;
int main(){
T **p;
malloc2Dpoint(p,5,5);
for(int i = 0; i<n; i++){
for(int j = 0; j<n; j++){
p[i][j] = 0;
printf("%d ",p[i][j]);
}
printf("\n");
}
return 0;
}
结果
注意
数组元素初值为随机数,不为0