#include <stdlib.h>
struct strt;
typedef struct {
int i;
struct strt *next;
} strt;
strt *s1 = malloc(sizeof(strt));
strt *s2=s1->next = malloc(sizeof(strt));
free(s1);
现在,是free(s1)
只释放 s1 指向的块还是释放 s1和s1->next/s2 指向的块?
我知道这一定是一个被问了一千次的问题,但我无法在搜索引擎中描述这个问题,我也无法在free()
函数文档中直接提到相同的问题。