gpt4 book ai didi

c - realloc 的使用是否正确?

转载 作者:太空狗 更新时间:2023-10-29 15:29:22 25 4
gpt4 key购买 nike

原始问题

我可以像下面的代码一样使用realloc()函数吗:

int *ptr, i, num=5;

for (i=0; i<num; i++)
void *nptr = realloc (ptr, (i+1) * sizeof(int) );

最佳答案

不,你应该在开始时初始化ptr,然后赋新值

int *ptr = 0;

for (unsigned i=0; i<5; i++) {
void *nptr = realloc (ptr, (i+1) * sizeof(int) );
if (nptr) ptr = nptr;
else abort();
}

否则在第一次调用时,您可以将一些随机值传递给 realloc。并且您在后续调用中分配的内存只会丢失。

关于c - realloc 的使用是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215215/

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