对于我的应用程序,需要具有包含实体详细信息的数据结构。需要存储的细节数量非常大:大约100-200个整数,100-200个指针等。这种情况的理想设计应该是什么?数据结构的大小是设计时要考虑的因素吗?
答案 0 :(得分:3)
首先。 C中的结构被分配为内存的固体片段。你需要记住这一点。
由于所有数据都在附近,因此很难维护大型结构,但很容易通过处理器进行计算。如果你可以尝试将你的大实体分成一堆具有有意义名称的小结构。
二。定义您将执行的操作。例如,如果您需要广泛地更改50个整数但其余数据不会受到影响,那么将这些内部放在单独的结构中并且在主结构中仅保留指针会更好。它允许您在不同实例之间快速交换数据。另一方面,如果您仅将此对象用作DTO并且您不会对其进行大量更改,则可以将其保留为内存的连续片段,因为序列化将更快更容易。
但至少要记住,不仅要处理这段代码,还要尽量让它具有可读性。避免使用表来存储[X,Y,Z]尺寸。更好地使用可以在需要时将阵列转换为阵列的小结构。
至少知道你的机器。如果它是一个小工厂控制器或一个关键的飞机的一部分,也许最好的选择是保持尽可能简单。阅读本设备中的内存管理(了解malloc的工作方式非常有用(只是想法不够))