【发布时间】:2021-09-02 19:15:35
【问题描述】:
我对在 C 中使用动态内存有点陌生,我想知道使用 realloc() 分配给不同的指针和使用 realloc() 分配相同的指针之间是否有任何区别。 例如:
int *ptr = calloc(10,sizeof(int))
ptr=(int*)realloc(ptr,20);
和
*ptr3;
int *ptr = calloc(10,sizeof(int))
ptr3=(int*)realloc(ptr,20);
我已经执行了这两个代码,并且我发现两个代码之间没有真正的区别(也没有在 opinters 的值和内存分配之间)。 谢谢。
【问题讨论】:
-
如果
realloc失败,您将在第一种情况下发生内存泄漏 -
所以这里应该去掉
c++这个标签?在c++代码中,我们几乎从不使用 calloc 和 realloc 。