#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main(){//动态一维数组
int* Array =(int*)calloc(sizeof(int),5);for(int i =0; i <5; i++){printf("%d ", i +1);}printf("\n");for(int i =0; i <5; i++){printf("%d ", Array[i]);}free(Array);//动态二维数组
int c =0, r =0;printf("请输入动态二维数组的第一个维度:");scanf("%d",&c);//行printf("请输入动态二维数组的第二个维度:");scanf("%d",&r);//列
int** Array =(int**)calloc(c,sizeof(int));for(int i =0; i < c; i++){
Array[i]=(int*)calloc(r,sizeof(int *));}for(int i =0; i < c; i++){for(int j =0; j < r; j++){
Array[i][j]= i * r + j +1;printf("%d ", Array[i][j]);}printf("\n");}for(int i =0; i < c; i++){free(Array[i]);}//三维数组
int p, q, r;
int*** Array;
int i, j, k;printf("请输入所要创建的动态数组的第一维长度:");scanf("%d",&p);//第一维 printf("请输入所要创建的动态数组的第二维长度:");scanf("%d",&q);//第二维 printf("请输入所要创建的动态数组的第三维长度:");scanf("%d",&r);//第三维
Array =(int***)malloc(p *sizeof(int**));for(i =0; i < q; i++){
Array[i]=(int**)malloc(q *sizeof(int*));for(j =0; j < r; j++){
Array[i][j]=(int*)malloc(r *sizeof(int));}}for(i =0; i < p; i++){for(j =0; j < q; j++){for(k =0; k < r; k++){
Array[i][j][k]= i + j + k +1;printf("%d\t", Array[i][j][k]);}printf("\n");}printf("\n");}for(i =0; i < p; i++){for(j =0; j < q; j++){free(Array[i][j]);//释放第三维指针 }}for(i =0; i < p; i++){free(Array[i]);//释放第二维指针 }free(Array);//释放第一维指针 return0;}