网上找了下,大概有两种方法:
一、用malloc
int n,*a;
scanf("%d",&n);
a=(int*)malloc(sizeof(int)*n);
二、用calloc
(区别大概是calloc分配的是连续内存,calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。转自http://blog.csdn.net/bigloomy/article/details/6581706)
在创建动态数组的过程中我们要遵循一个原则,那就是在创建的时候从外层往里层,逐层创建;而释放的时候从里层往外层,逐层释放。
一维动态数组的创建:
#include <stdio.h>
#i