首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么动态分配二维数组的有关问题

2012-11-09 
如何动态分配二维数组的问题动分配一个二维数组,第一维的大小不知道,但知道第二维的大小是4,我是这样做的i

如何动态分配二维数组的问题
动分配一个二维数组,第一维的大小不知道,但知道第二维的大小是4,我是这样做的
int ** p ;
p = new int[][4] ;

这样是错的,那怎么分配?

删除指针时怎么删除呢?

[解决办法]
仅供参考

C/C++ code
//在堆中开辟一个4×5的二维int数组#include <stdio.h>#include <malloc.h>int **p;int i,j;void main() {    p=(int **)malloc(4*sizeof(int *));    if (NULL==p) return;    for (i=0;i<4;i++) {        p[i]=(int *)malloc(5*sizeof(int));        if (NULL==p[i]) return;    }    for (i=0;i<4;i++) {        for (j=0;j<5;j++) {            p[i][j]=i*5+j;        }    }    for (i=0;i<4;i++) {        for (j=0;j<5;j++) {            printf(" %2d",p[i][j]);        }        printf("\n");    }    for (i=0;i<4;i++) {        free(p[i]);    }    free(p);}//  0  1  2  3  4//  5  6  7  8  9// 10 11 12 13 14// 15 16 17 18 19 

热点排行