二维动态数组怎么定义?

agamenon 2004-05-01 11:14:34
一维的两位大哥已经为我做了解答
如果是二维的是不是就是
CString strtemp;
GetDlgItemText(IDC_EDIT1, strtemp);

int nNum = atoi(strtemp);
int mNum = atoi(strtemp);
int *data = new int[nNum][mNum];

呵呵,有点笨哦!!!

...全文
80 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
simouse 2004-05-02
#include "iostream"
using namespace std;

void show(int *array,int x,int y)
{
for(int i=0;i<x;i++)
{
for(int ii=0;ii<y;ii++)
cout<<"\t"<<array[i*x+ii];
cout<<endl;
}

}

int main(int argc, char* argv[])
{
int array[4][4]=
{
{1,2,3,4},
{4,5,6,7},
{8,9,10,11},
{12,13,14,15}
};

show((int*)array,4,4);
return 0;
}
  • 打赏
  • 举报
回复
BitBlt 2004-05-02
学VB吧,VB干这个很简单的,
redim var(11,22)
  • 打赏
  • 举报
回复
bm1408 2004-05-02
.有三中方法:
1)用vector;如:
  vector< vector< int >> m( 4, vector<int>(5) );

for ( int i = 0; i < m.size(); i++ ) // 4
for ( int j = 0; j < m[i].size(); j++ ) //5
.....
2)int **p = new int *[ 4];
for ( int i = 0; i < 4; i++ )
p[i] = new int[5];
3)一维数组模拟:
 int *p = new int[m*n];
for ( int i = 0; i < m ; i++ )
for ( int j =0; j < n; j++ )
p[i*n+j] = ..

  • 打赏
  • 举报
回复
pomelowu 2004-05-02
就是楼上的方法,用二重指针,然后分配空间。要不就用CArray,也是很方便的
  • 打赏
  • 举报
回复
王国凡 2004-05-01
long **a;
a = (long **)malloc(M * N * sizeof(long));
...
用完了就
free(a);

---------------------------------------
举个用 new 的例子:
//DynamicArray.cpp 动态二维数组
#include <iostream>
using namespace std;

int main()
{
int ** x;
int i,j,rows(2),cols(3);
try {
//创建
x = new int * [rows];
for (int i = 0 ; i < rows; i++) x[i] = new int [cols];
//初始化
for( i=0; i<2; i++)
{
for( j=0; j<3; j++)
{
x[i][j] = i + j;
cout << x[i][j] << " ";
}
cout << endl;
}
//释放
for(int i=0; i<rows; i++) delete [ ] x[i];
delete [ ] x;
x = 0;
}
catch (xalloc) {
cout << "create dynamic array caused error." << endl;
}
}

/*
运行结果:
0 1 2
1 2 3
*/
  • 打赏
  • 举报
回复
以前试过,好像只能留一维为变量,其它的需要常量
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
加入

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-01 11:14
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……