gpt4 book ai didi

c - 如果我在同一个指针 (C) 上使用 malloc 两次会发生什么?

转载 作者:IT王子 更新时间:2023-10-28 23:30:16 24 4
gpt4 key购买 nike

例如,我创建了一个指针 newPtr 并使用 malloc(some size),然后我再次使用 malloc(some size) 和相同的指针。怎么了?然后我会创建与第一个相同大小的第二个内存块吗? newPtr 是否指向同一个地址?

例子:

int *newPtr;
newPtr = malloc(10 * sizeof(int));
newPtr = malloc(10 * sizeof(int));

最佳答案

您的程序将发生内存泄漏。 newPtr 的第一个值将丢失,您将无法 free 它。

Am i then creating a second block of memory the same size of the first one?

是的。您正在分配与第一个不同的第二个对象。

Does newPtr point to the same address?

没有。对象是不同的,所以它们的地址是不同的。

关于c - 如果我在同一个指针 (C) 上使用 malloc 两次会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19435433/

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