您的位置:首页 > 编程语言 > C语言/C++

C语言动态分配二维数组

2020-07-21 04:13 1106 查看

动态分配一个n行,m列的二维数组。
先动态分配一维数组

p = (int **)malloc(sizeof(int *) * n);

再分配二维

for (i = 0; i < n; i++) {
p[i] = (int *)malloc(sizeof(int) * m);
}

输入输出:

#include <stdio.h>
#include <malloc.h>

int main()
{
int **p;
int n, m, i, j;
printf("输入n,m。创建n行,m列的二维数组。");
scanf("%d%d", &n, &m);/
p = (int **)malloc(sizeof(int *) * n);for (i = 0; i < n; i++) {
p[i] = (int *)malloc(sizeof(int) * m);
}for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
scanf("%d", &p[i][j]);
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("%d ", p[i][j]);
}
printf("\n");
}
free(p);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: