我们需要什么样的存储分配?

时间:2013-02-25 15:52:31

标签: c memory-management storage memory-address

我们实际需要手动存储分配的内容是什么?

我能想到的唯一可能的任务是更大的二进制数据,它不适合32位整数。

这是对的吗? 还有什么其他用例?

2 个答案:

答案 0 :(得分:2)

通常,每次在编译时都不知道数据大小时,您需要进行手动存储分配。几乎所有情况都分为两类:

  • 您的程序必须从文件/网络/用户输入等读取数据,并且在编译时不知道该数据的确切数量,或
  • 您的程序必须生成并存储一些输出,并且在您编写程序时,您不知道输出的确切数量。

当在运行时确定精确大小时,许多非常常见的数据结构都假定能够分配任意大小的内存。这样做可以使数据结构动态“增长”和“缩小”,因为程序的存储需求随着时间和处理的数据量而变化。

答案 1 :(得分:0)

吨的例子。分配内存以填充结构,例如,链表结构。