任何人都可以总结出正确的用法是realloc()什么?
realloc()失败后你会怎么做?
从我到目前为止所看到的情况看来,如果realloc()失败,你必须使用free()旧指针.真的吗?
这是一个例子:
1. char *ptr = malloc(sizeof(*ptr) * 50);
2. ...
3. char *new_ptr = realloc(ptr, sizeof(*new_ptr) * 60);
4. if (!new_ptr) {
5. free(ptr);
6. return NULL;
7. }
Run Code Online (Sandbox Code Playgroud)
假设在线realloc()失败3.我做就行了正确的事情5由free()荷兰国际集团ptr?
Gia*_*ian 17
来自http://www.c-faq.com/malloc/realloc.html
如果realloc根本找不到足够的空间,它将返回一个空指针,并保留分配的前一个区域.
因此,您确实需要释放先前分配的内存.
| 归档时间: |
|
| 查看次数: |
8848 次 |
| 最近记录: |