本文部分转载自博客:https://blog.csdn.net/zhanshen112/article/details/80758850
C:
1、一维动态数组的申请:
#include "stdlib.h"
int main()
{
int length;
printf("请输入所要创建的一维动态数组的长度:");
scanf("%d",&length);
int *array=(int *)calloc(length,sizeof(int));
//释放
free(array);
}
2、二维动态数组的申请:
#include "stdlib.h"
int main()
{
int length1,length2;
printf("请输入所要创建的二维动态数组的第一个维度:");
scanf("%d",&length1);
printf("请输入所要创建的二维动态数组的第二个维度:");
scanf("%d",&length2);
int **array=(int **)calloc(length1,sizeof(int));
for(int i=0;i<length1;i++)
array[i]=(int *)calloc(length2,sizeof(int));
//释放
for(int i=0;i<length1;i++)
free(array[i]);
free(array);
}
多维数组的申请与二维数组类似。
C++:
1、一维动态数组的申请:
#include <iostream>
int main()
{
int length;
cout<<"请输入所要创建的一维动态数组的长度:";
cin>>length;
int *p=new int [length];
//释放
delete []p;
}
2、二维动态数组的申请:
#include <iostream>
int main()
{
int length1,length2;
cout<<"请输入所要创建的二维动态数组的第一个维度:";
cin>>length1;
cout<<"请输入所要创建的二维动态数组的第二个维度:";
cin>>length2;
int **p=new int *[length1];
for(int i=0;i<length1;i++)
p[i]=new int [length2];
//释放
for(int i=0;i<length1;i++)
delete []p[i];
delete []p;
}
多维数组的申请与二维数组类似。
Java:
import java.util.Scanner;
public class DynamicArray{
public static void main(String[] args) {
Scanner reader= new Scanner(System.in);
System.out.println("请输入所要创建的一维动态数组的长度:");
int length1 = reader.nextInt();
int[] array1 = new int[length1];
System.out.println("请输入所要创建的二维动态数组的第一个维度:");
int length2 = reader.nextInt();
System.out.println("请输入所要创建的二维动态数组的第二个维度:");
int length3 = reader.nextInt();
int[][] array2 = new int[length2][length3];
}
}
Java申请不用自己释放,JVM会自动回收空间。