用new实现二位数组的几种方法

来源:互联网 发布:java英文参考文献 编辑:程序博客网 时间:2024/05/16 09:20
定义二维数组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;
1 0
原创粉丝点击