首页 新闻 搜索 专区 学院

关于C语言不确定长度数组的实现

0
悬赏园豆:20 [已解决问题] 解决于 2020-11-19 21:18

问题:当要定义一个数组,而这个数组长度不确定,要在不浪费内存的情况下,请问如何定义这个数组?

具体需求:现在,需要输入一组数据(假设都为整型),但其数量不确定。需要在不浪费内存的情况下,将所输入数据创建为一个数组方便进行以后的操作。

例子:>>1 2 3 4 5

数据输入完后,则存在一个数组为arry[5].

附:本人小白一枚,还请不吝赐教。感谢!😊

c
XiaoXin1900的主页 XiaoXin1900 | 初学一级 | 园豆:184
提问于:2020-11-19 15:16
< >
分享
最佳答案
1

没有其它要求了吗?

感觉先判断输入的是几个数字,然后在创建对应长度的数组就行了呀。我觉得是不是你漏掉了什么信息??

是不是要实现这样的效果:可以多次输入数字,数组要跟着变大?

如果是这样的,我觉得可以参考很多类库的做法:先实例化一个长度为n的数组,当其中的元素个数快达到n时,创建一个新数组,长度是n+m,然后把旧数组的数据复制到新数组。

收获园豆:15
会长 | 大侠五级 |园豆:9622 | 2020-11-19 15:32

。。昨天看书不细心。。。今天又看了一遍,悟了(//∇//)。就是VLA啊/大哭。谢谢回答!

XiaoXin1900 | 园豆:184 (初学一级) | 2020-11-19 21:17
其他回答(2)
0

每次根据输入的数据个数,来定义数组的长度即可。

收获园豆:2
llkj | 园豆:188 (初学一级) | 2020-11-19 16:04
0

这。。这不就是List吗。。
内部维护一个数组

一个物理长度字段
一个数组长度字段

当数组长度>物理长度,物理长度*2,

内存利用率始终>50%

收获园豆:3
猝不及防 | 园豆:2035 (老鸟四级) | 2020-11-19 16:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册