1

如何将动态内存分配给大小或元素数量未知的数组

int *p = (int*)malloc(i*sizeof(int)); 这里我也是动态的意思是我可能是 1 或 1000 我们不知道如何分配大小谢谢

4

2 回答 2

5

首先为 10 个元素分配空间。如果超过 10,则使用realloc将分配增加到 20。如果超过 20,则将其增加到 40,依此类推。保留一个“alloc_size”变量和一个“count”变量。在添加新元素之前,请检查是否count == alloc_size,如果是,请检查realloc

于 2013-09-19T06:56:24.130 回答
0

您设置了一个数组类型的变量。说 ch,从用户那里得到它,使用指针来实现数组,如果 ch!='\n' realloc 指针重复获取输入;而已。

于 2013-09-19T07:01:15.197 回答