如何动态申请二维数组
答案: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.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
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;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include
#include
#define M 10
#define N 10
int main()
{
int i;
int **a;
a=(int **)malloc(sizeof(int *)*M);
for (i = 0; i
}
return 0;
}
//---------------------------------------------------------------------------
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯