VC6.0中怎么动态分配二维数组,用完之后可以回收的....知道的请大家帮帮忙吧...谢谢哦!!!
VC6.0中定义的int、float类型的变量用完以后可以回收分配的空间吗?????
VC6.0中怎么动态分配二维数组---急!!!
答案:4 悬赏:80 手机版
解决时间 2021-03-18 11:09
- 提问者网友:泪痣哥哥
- 2021-03-18 03:15
最佳答案
- 五星知识达人网友:迟山
- 2021-03-18 04:09
#include <stdio.h>
#include <stdlib.h>
void main(int argc, char * argv[])
{
int NC=5, NR=3; // 3行5列
int i,j;
int **a; // a[NR][NC] -- *a[NR] -- a[j][i]
// 动态分配
a = (int **) malloc(sizeof(int *) * NR);
for (j=0;j<NR;j++){
a[j] = (int *) malloc(sizeof(int) * NC);
}
// 这里赋值或输入
for (j=0;j<NR;j++) for (i=0;i<NC;i++) {
a[j][i] = (j+1)*100 + i;
}
// 使用数组
for (j=0;j<NR;j++){
for (i=0;i<NC;i++) printf("%3d ",a[j][i]);
printf("\n");
}
// empty (回收内存)
for (j=0;j<NR;j++) free(a[j]);
free(a);
}
#include <stdlib.h>
void main(int argc, char * argv[])
{
int NC=5, NR=3; // 3行5列
int i,j;
int **a; // a[NR][NC] -- *a[NR] -- a[j][i]
// 动态分配
a = (int **) malloc(sizeof(int *) * NR);
for (j=0;j<NR;j++){
a[j] = (int *) malloc(sizeof(int) * NC);
}
// 这里赋值或输入
for (j=0;j<NR;j++) for (i=0;i<NC;i++) {
a[j][i] = (j+1)*100 + i;
}
// 使用数组
for (j=0;j<NR;j++){
for (i=0;i<NC;i++) printf("%3d ",a[j][i]);
printf("\n");
}
// empty (回收内存)
for (j=0;j<NR;j++) free(a[j]);
free(a);
}
全部回答
- 1楼网友:孤老序
- 2021-03-18 06:22
#include
<stdio.h>
#include
<stdlib.h>
void
main(int
argc,
char
*
argv[])
{
int
NC=5,
NR=3;
//
3行5列
int
i,j;
int
**a;
//
a[NR][NC]
--
*a[NR]
--
a[j][i]
//
动态分配
a
=
(int
**)
malloc(sizeof(int
*)
*
NR);
for
(j=0;j<NR;j++){
a[j]
=
(int
*)
malloc(sizeof(int)
*
NC);
}
//
这里赋值或输入
for
(j=0;j<NR;j++)
for
(i=0;i<NC;i++)
{
a[j][i]
=
(j+1)*100
+
i;
}
//
使用数组
for
(j=0;j<NR;j++){
for
(i=0;i<NC;i++)
printf("%3d
",a[j][i]);
printf("\n");
}
//
empty
(回收内存)
for
(j=0;j<NR;j++)
free(a[j]);
free(a);
}
- 2楼网友:愁杀梦里人
- 2021-03-18 05:48
int m,n,x,y;
cin>>m>>n;
int * * p=new int *[m];
cout<<"输入m*n数组"<<m<<" "<<n<<endl;
for (x=0;x<m;x++){
p[x]=new int [n];
for (y=0;y<n;y++){
cin>>p[x][y];
}
}
- 3楼网友:从此江山别
- 2021-03-18 04:21
你是不是想说2位随机数啊?那不要用二维数组,只要一维数组,有两个元素就可以了比如定义int a[2];然后a[0]=ran()%9;a[1]=ran()%9就得到你想要的数组了。下面是测试程序,你可以看一下。main(){ int a[2]; int i; for(i=0;i<100;i++) { a[0]=rand()%9; a[1]=rand()%9; printf("%d %d\n",a[0],a[1]); }}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯