【发布时间】:2018-03-25 21:40:24
【问题描述】:
我有一个带有整数和字符指针的结构。我只是为结构分配内存。现在如果尝试释放相同的结构,指针也会被释放?
struct a
{
int b;
char *c
};
main()
{
struct *d = malloc(sizeof(a));
free(d);
}
上面的程序没有内存泄漏?
【问题讨论】:
我有一个带有整数和字符指针的结构。我只是为结构分配内存。现在如果尝试释放相同的结构,指针也会被释放?
struct a
{
int b;
char *c
};
main()
{
struct *d = malloc(sizeof(a));
free(d);
}
上面的程序没有内存泄漏?
【问题讨论】:
为了发生内存泄漏,必须有分配的东西不能再被引用。由于此处分配的唯一内容是显式释放的内容,因此没有泄漏。
你在结构中有一个指针这一事实是无关紧要的,因为你从来没有分配任何东西让它指向。
【讨论】: