我在MyFunction(x,y)函数中定义了两个数组:A[][3]; B[][3];
但是它们的行数是由x,y计算得到的。这样无法在编译时候确定A和B的大小。
我应该怎样使用二维的动态数组呢?
谢谢!
但是它们的行数是由x,y计算得到的。这样无法在编译时候确定A和B的大小。
我应该怎样使用二维的动态数组呢?
谢谢!
解决方案 »
- 为什么VC6.0与VS2008同样的程序编译出来的EXE文件相差那么大!!
- 拉动滚动块到中间却又回到开头
- win32怎么能得到一些系统消息,如关机,刷屏等
- 支持原VC版大斑竹 【薄荷 bluebohe】 担任扩充版大版主
- 关于IE中的对象(IWebBrowser.....)的问题?请有C++对IE编程经验的高手指教(急!!)
- SDI...我的mainframe为什么没有WM_ON_DRAWITEM消息?目的:我想改变菜单颜色!
- 内嵌InstallSheild
- 含有dbgrid控件的VC程序的问题??
- 请教:有关打印问题
- C++ 子类函数覆盖基类的问题
- 在2000下编写的ATL服务程序NT4.0下不能正常运行!
- 请教~~
int *b = 0;
a = new int [x][3];
b = new int [y][3];
.
.
.
delete [] a;
delete [] b;
*array=new int[length1];
for(int i=0;i<length1;i++)
{
array[i]=new int[length2];}
int **array;
int m,n;
m=9;n=8;
array=new int[m];
for(int i=0;i<4;i++)
{
*(array+i)=new int[n];
}这样你就有一个mXn的数组
这样用:array[0][0]=8;
int **A = 0;
int **B = 0;
A = new int [m][n];
B = new int [m][n];
是不是应该这样呢:
A = new int*[m]
B = new int*[m];
for (i=0; i < m; i++){
A = new double[n];
B = new double[n];
}
然后:
for (i=0; i<n; i++)
{
delete [] A[i];
delete [] B[i];
}
delete [] A;
delete [] B;
A = 0;
B = 0;
int **array;
int m,n;
m=2;n=2;
array=new int*[m]; //注意,这里是分配指针数组
for(int i=0;i<m;i++)
{
*(array+i)=new int[n];
}
array[0][0]=1;
array[0][1]=2;
array[1][0]=3;
array[1][1]=4;
//别忘了释放内存
for( i=0;i<m;i++)
delete[] array[i];
delete[] array;
int *b = 0;
a = new int [x][y];
b = new int [x][y];
.
.
.
delete [] a;
delete [] b;
这个方法不可以吗?我不知道错在哪里?小弟也是初学者,还希望各位赐教,谢谢