#include<stdio.h>
#include<stdlib.h>
//动态创建二维数组;
void CreatArray (double ***a, int n, int m);//用三级指针接收二维数组的地址
void InputArr(double **a, int n, int m);
void OutputArr (double **a, int n, int m);
void DestoryArr (double ***a);
int main()
{
int n, m;
double **a;//二级指针
scanf("%d%d", &n, &m);
CreatArray(&a, n, m);
InputArr(a, n, m);
OutputArr(a, n, m);
DestoryArr(&a);
return 0;
}
void CreatArray (double ***a, int n, int m)
{
int i;
*a = (double**)malloc(n * sizeof(double*));
(*a)[0] = (double*)malloc(m * n * sizeof(double));//创建 n * m个double空间
for (i = 1; i < n; ++i)
{
(*a)[i] = (*a)[i - 1] + m;//每行的行指针的地址相隔m个double空间
}
}
void InputArr(double **a, int n, int m)
{
int i, j;
for (i = 0; i < n; ++i)
{
for (j = 0; j < m; ++j)
{
scanf("%lf", &a[i][j]);
}
}
}
void OutputArr (double **a, int n, int m)
{
int i, j;
for (i =
动态创建二维数组
最新推荐文章于 2024-04-09 10:52:53 发布