C语言动态分配

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:59:27
如何用malloc作二维数组(矩阵)的动态分配,以及,怎样输入一个矩阵

#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j;
int row,col;
int** matrix;
printf("input the row and col:\n");
scanf("%d%d",&row,&col); //输入矩阵的行和列

//动态分配内存
// 为动态数组分配了二维的空间
matrix=(int **)malloc(sizeof(int *)*row);
for(i=0;i<row;i++)
{
matrix[i]=(int*)malloc(sizeof(int)*col);
}
//输入
printf("please input the array elements:\n") ;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%d",&matrix[i][j]);
}
}
//输出
for(i=0;i<row;i++)
{
printf("\n");
for(j=0;j<col;j++)
{
printf("%d ",matrix[i][j]);
}
}
}
/*运用此程序,在输入的时候,只要将矩阵的元素从上到下从左到右依次输入即可,元素之间以空格键隔开。*/

include <stdio.h>
void main()
{
int i,j;
int** m