gpt4 book ai didi

c - 动态内存分配如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:56 25 4
gpt4 key购买 nike

考虑以下代码:

int *p = malloc(4);
int *i = malloc(4);

现在,已经分配了一 block 内存(在上述情况下为 4 个字节),基地址存储在 p 中。

int *i = malloc(4) 行中分配内存。

编译器如何知道这 block 内存已分配?

为什么它没有分配与 int *p = malloc(4) 分配的相同内存块?

最佳答案

当您在代码中使用诸如 malloc 之类的例程并将您的代码编译并链接到可执行程序时,软件例程库也会链接到您的代码中。该库中的例程具有用于从操作系统请求内存的软件,用于将内存分成多个部分并在使用 malloc 请求时将其发出,并用于跟踪已发出的内容和已发出的内容以免费的形式发布。

因此,每当您编译一个非常小的程序时,您都会得到一个大型的附加软件库,这些软件是人们多年来一直致力于开发的。

关于c - 动态内存分配如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47482109/

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