申请动态数组

本文部分转载自博客: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 

int main()
{
	int length;
	cout<<"请输入所要创建的一维动态数组的长度:";
	cin>>length;
	int *p=new int [length];

	//释放
	delete []p;
}

2、二维动态数组的申请:

#include 

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会自动回收空间。

你可能感兴趣的:(真)