![](/img/trans.png)
[英]Size of array stays the same even after adding more elements with values to the array
[英]keeping same array size while adding values
我正在嘗試一種方法來將命令歷史記錄保留在大小為[10]的數組中,並在保持大小不變的同時始終顯示最后10條命令。 是否有一個不涉及隊列或列表的實現? 也許像這樣,給數組更多空間,並填充命令,但打印不同的索引? 我在Windows計算機上使用C。
您需要一個循環緩沖區 。 周圍有很多實現。
就像將數組當作循環緩沖區一樣對待,並讓cur
變量指向最新的條目。
要添加條目:
cur = (cur + 1) % size;
要打印數組中的所有內容:
printf("%d\\n", cur); for (i = (cur + 1) % size; i != cur; i = (i + 1) % size) printf("%d\\n", i);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.