您的位置:首页 > 编程语言 > C语言/C++

C语言创建数组的几个常用方法

2016-07-07 20:52 295 查看
从键盘输入若干数据到数组中,可选用的方法:

预估最大数据个数,按此数值定义数组空间,完成数据输入

#define MAX_NUM 1000

int a[MAX_NUM];  这种方法定义数组,方便,安全。缺陷是数组空间大小受系统限制,数据太多了,就不能这样定义了。

运行时,确定输入数据个数,采用指针动态定义数组,或C99提供的动态数组的方法实现

int *p;

int n;  printf ("input n: "); scanf("%d", &n); //输入数据个数

(1)p=(int *)malloc(n*sizeof(int) ); //动态分配空间    不用了记得要释放free(p)

或  

(2)int pa
;  //C99支持的动态数组,按n值动态定义数组

还可以采用指针动态扩充数组方法:先分配一定的大小,当数组不够用时,再重新分配空间。

#define INIT_LEN 100        预分配空间

#define INCE_LEN 10         每次扩充空间

int *p=(int *) malloc(INIT_LEN *sizeof(int) );

int length=INIT_LEN ;

不足时, length+=INCE_LEN ;  p=(int *)realloc( p, length) ; //扩充空间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: