gpt4 book ai didi

c - 在 C 中拥有一个非常大的数据结构是一种很好的做法

转载 作者:行者123 更新时间:2023-12-04 04:38:06 26 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

7年前关闭。



Improve this question




对于我的应用程序,需要有一个包含实体详细信息的数据结构。需要存储的细节数量非常大:大约 100-200 个整数、100-200 个指针等。对于这种情况,理想的设计应该是什么?数据结构的大小是设计时要考虑的因素吗?

最佳答案

首先。 C 中的结构被分配为内存的固体片段。你需要记住这一点。

由于所有数据都在附近,因此巨大的结构难以维护但易于由处理器计算。如果您可以尝试将您的大实体拆分为一堆具有有意义名称的小结构。

第二。定义您将执行的操作。例如,如果您需要大量更改 50 个整数但其余数据不会受到影响,那么将这些整数放在单独的结构中并在主结构中仅保留指针会更好。它将允许您在不同实例之间快速交换数据。另一方面,如果您仅将此对象用作 DTO 并且不对其进行大量更改,则可以将其保留为连续的内存片段,因为序列化会更快更容易。

但至少要记住,不仅你会处理这段代码,所以尽量让它可读。避免使用表来存储 [X,Y,Z] 维度。最好使用可以在需要时转换为数组的小结构。

至少了解你的机器。如果它是一个小型工厂 Controller 或至关重要的飞机的一部分,那么最好的选择是尽可能保持简单。阅读此设备中的内存管理(了解 malloc 的工作原理非常有用(只有想法是不够的))

关于c - 在 C 中拥有一个非常大的数据结构是一种很好的做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19379033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com