您的位置:首页 > 其它

new一个二维数组

2016-04-03 21:17 281 查看
定义二维数组char array[x][y];

1.只定义个一维的就可以了

char *array;

array = new char[x*y];

访问的时候*(array+i*y+j)表示array[i][j]

2.定义一个二维数组

char **array1

array1 = new char *[x];

for(i=0;i<x;++i)

array1[i] = new char[y];

...用的时候可以直接array1[i][j]

注意delete

for(i=0;i<x;++i)

delete[] array1[i];

delete[] array1;

3.要用的方便,可以在array上加定义一个指针变量。

char *array = new char[x*y];

char **array2;

array2 = new char *[x];

for(int i=0;i<x;++i)

array2[i] = array + i*y;

...用起来还是array2[i][j],但二维数组已经是一块连续内存,这是和第二种方法区别的地方,感觉这是比较适合用二维数组的习惯。

delete[] array2;

delete[] array;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: