永发信息网

如何动态申请二维数组

答案:2  悬赏:30  手机版
解决时间 2021-11-25 07:37
  • 提问者网友:遮云壑
  • 2021-11-24 11:34
如何动态申请二维数组
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-11-24 12:11
两种方法,祝你成功

1.new出来

//int *arr; //it can be any other type (char, float)
//arr = new int[n]; //n should be integer variable
#include
void main()
{
int **arr;
int N,M;
cin >> N >> M;

arr = new int*[N];
for(int i=0;i{
arr[i] = new int[M];
}
for(i=0;i{
for(int j=0;j {
arr[i][j]=2;
cout< }
cout<}
cout<
}

2.malloc出来

#include
#include
void main ()
{
int n; //用 malloc 函数定义二维数组
scanf("%d",&n);

int **a;
a=(int **)malloc( n*sizeof(int *)); //定义第一列
for(int i=0;i a[i]=(int *)malloc(n*sizeof(int )); //定义行
for (i=0;i{
for(int j=0;j {
a[i][j]=3;
printf("%d ",a[i][j]);//< }
printf("\n");//cout<}
printf("\n");//cout<
}
全部回答
  • 1楼网友:想偏头吻你
  • 2021-11-24 13:07
这个写法不能实现二维数组,应该这样:

//---------------------------------------------------------------------------

#include
#include

#define M 10
#define N 10

int main()
{
int i;
int **a;
a=(int **)malloc(sizeof(int *)*M);
for (i = 0; i a[i]=(int *)malloc(sizeof(int)*N);
}
return 0;
}
//---------------------------------------------------------------------------
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯