初学C语言, 请问不知道会用多少个的数组如何定义

来源:百度知道 编辑:UC知道 时间:2024/05/03 05:03:14
需要定义一个数组,但提前不知道会有多少成员,定义的足够多虽然可以解决问题 但是会浪费内存的
好像没看到有重定义的方法啊.

先定义指针,当知道数组大小时动态分配。
例如:
int NN;
float *f;

....
// 当知道数组大小NN 时:
f = (float *)malloc(NN * sizeof(float));
// 下面可以用 f[i]; i=0到NN
for (i=0;i<NN;i++) sum = sum + f[i]; .....
// 不用了,可以用 free(f) 释放。
// 也可用再分配新大小 realloc(...) 再分配数组大小

通过宏定义的方式设定一个符号常量,用其表示数组的长度,如果发现长度不合适,可能适当调整。

用指针 解决啦

用指针,形成链表,这样能动态申请内存,可以符合你的要求.