確定的動態數組,所以這些都是我的結構:釋放內存數組
struct Student
{
int id;
char* name;
};
struct HashTable
{
int size;
int noElements;
Student** elements;
};
在這裏,我分配內存數組的動態數組
ht.elements = (Student**)malloc(size*sizeof(Student*));
memset(ht.elements, NULL, size*sizeof(Student*));
我的問題是,當我嘗試釋放這樣的內存,爲什麼我的程序崩潰?
for(int i=0;i<ht.size;i++)
{
free(ht.elements[i]->name);
free(ht.elements[i]);
}
free(ht.elements);
如果我只寫最後一行它的工作,但它不會產生內存泄漏?
@πάνταῥεῖ這是無效C. – user2079303
@ user2079303所以consdier以刪除C標籤也;-) –
@πάνταῥεῖ好主意! (這可能會保護這個問題不受浪費)@CanciuCostin,請說明您正在使用哪種語言。 – user2079303