我们实际上需要手动存储分配什么?
我能想到的唯一可能的任务是处理不适合 32 位整数的更大的二进制数据。
这是正确的吗? 还有哪些其他用例?
最佳答案
一般来说,每次编译时不知道数据大小时,您都需要进行手动存储分配。几乎所有情况都分为两类:
- 您的程序必须从文件/网络/用户输入等读取数据,并且该数据的确切数量在编译时未知,或者
- 您的程序必须产生并存储一些输出,而您在编写程序时并不知道该输出的确切数量。
当精确大小在运行时确定时,许多非常常见的数据结构都假设能够分配任意大小的内存。这样做可以让数据结构动态“增长”和“收缩”,因为程序的存储需求会随着时间和处理的数据量而变化。
关于c - 我们为什么需要存储分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15070883/