用calloc为一个指针分配以段内存,分配两次,是否释放两次呢?

2025-04-05 19:58:25
推荐回答(1个)
回答1:

给一个指针分配内存,使用结束后,必须释放掉。如果不释放,会造成内存泄漏。

例如:
char*str = NULL;
/*分配内存空间*/
str = (char*)calloc(10,sizeof(char));
str = (char*)calloc(20,sizeof(char));//此处再次分配了一次空间,但没有释放前面申请的空间,造成了10字节的内存泄漏。
free(str);