大家看下这个具体咋整

主函数中输入矩阵的行数m和列数n,调用函数createMatrix动态申请内存单元创建能够保存m行n列个整数的内存空间,返回能够访问该空间的地址。调用函数loadMatrix给m行n列的矩阵填上0-100之间的随机整数。调用showMatrix函数输出m行n列的矩阵。调用destroyMatrix释放动态申请的内存空间。是通过指针数组模拟二维数组可以使用二维下标


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <malloc.h>
int** createMatrix(int m,int n);
void loadMatrix(int** p,int m,int n);
void showMatrix(int** p,int m,int n);
void destroyMatrix(int** p,int m);
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    int** p;
    p = createMatrix(m,n);
    loadMatrix(p,m,n);
    showMatrix(p,m,n);
    destroyMatrix(p,m);

}
int** createMatrix(int m,int n){
    int i;
    int **p = (int **)malloc(sizeof(int *) * m);
    for (i = 0; i < m; ++i)
    {
        p[i] = (int *)malloc(sizeof(int) * n);
    }
    return p;
}
void loadMatrix(int** p,int m,int n){
    int i,j;
    srand((unsigned)time(NULL));
    for(i = 0;i < m;i++){
        for(j = 0;j < n;j++){
            p[i][j] = rand() % 100;
        }
    }
}

void showMatrix(int** p,int m,int n){
    int i,j;
    for(i = 0;i < m;i++){
        for(j = 0;j < n;j++){
            printf("%d ",p[i][j]);
        }
        printf("\n");
    }
}
void destroyMatrix(int** p,int m){
    int i;
    for (i = 0; i < m; i++){
        free(p[i]);
    }
    free(p);
}