This question already has answers here:
How does free know how much to free?
(10个回答)
3年前关闭。
我想知道动态分配的数组的大小是否存储在内存中的某个地方,因为在由
因此,如果
我们可以检索该值吗?
(10个回答)
3年前关闭。
我想知道动态分配的数组的大小是否存储在内存中的某个地方,因为在由
free()
或其家族初始化的指针上调用malloc()
函数可以准确地释放内存。因此,如果
free()
确切知道要释放多少内存,这是否意味着size值存储在内存中的某个位置?我们可以检索该值吗?
最佳答案
可能是这样;这确实是C标准库的明智实现。
但这不是C标准所保证的。
没有什么可以阻止我编写符合C标准的库的,该库始终为每个malloc
调用分配固定数量的内存! (如果要求的金额超过该固定值,请适当返回)。然后,我不需要将分配的金额存储在任何地方。
关于c - 动态分配的数组的大小是否存储在RAM中的某个位置? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37592554/
10-15 17:30