相关疑难解决方法(0)

C动态增长阵列

我有一个程序读取游戏中实体的"原始"列表,我打算创建一个数组,其中包含一个不确定数量的实体的索引号(int),用于处理各种事物.我想避免使用太多的内存或CPU来保存这些索引......

到目前为止,我使用的一个快速而肮脏的解决方案是在主处理函数(本地焦点)中声明具有最大游戏实体大小的数组,以及另一个整数来跟踪已添加到列表中的数量.这并不令人满意,因为每个列表都拥有3000多个阵列,这并不是那么多,但感觉就像是浪费,因为我可以使用6-7列表的解决方案来实现不同的功能.

我没有找到任何C(不是C++或C#)特定的解决方案来实现这一目标.我可以使用指针,但我有点害怕使用它们(除非它是唯一可能的方式).

数组不会离开本地函数作用域(它们将被传递给函数,然后被丢弃),以防更改内容.

如果指针是唯一的解决方案,我如何跟踪它们以避免泄漏?

c dynamic-arrays

120
推荐指数
4
解决办法
20万
查看次数

重新分配数组(C99)

该标准指定如果新大小更大,则重新分配空间的内容是不确定的.

如果保留先前分配的空间的内容很重要,那么重新分配数据的最佳方法如下:将其复制到堆栈,从堆中释放它,在堆上分配更多空间,然后复制回堆?还有另一种安全的方法吗?

实现数据结构的最佳方法是像动态增长的数组一样只能以链表的形式增长吗?

c memory-management c99

2
推荐指数
1
解决办法
882
查看次数

使用ANSI C的动态数组

我有一个char数组

char *data[]= {"11", "22", "33", "44", "55"};
Run Code Online (Sandbox Code Playgroud)

我怎样才能在最后添加一些额外的物品? data[]="66";

我想在C中使用动态数组.

谢谢

c

1
推荐指数
1
解决办法
9746
查看次数

标签 统计

c ×3

c99 ×1

dynamic-arrays ×1

memory-management ×1