C.动态结构和构件
目前我正在为一个结构动态分配内存,之后我将为它的一个成员动态分配内存。我的问题是我是否也应该释放成员,还是只释放结构以及为什么C.动态结构和构件,c,data-structures,dynamic,C,Data Structures,Dynamic,目前我正在为一个结构动态分配内存,之后我将为它的一个成员动态分配内存。我的问题是我是否也应该释放成员,还是只释放结构以及为什么 #include <stdlib.h> struct test{ char *test_member; }; int main(){ struct test *new_test; // Allocating memory for structure and its member new_test = (test*)malloc(siz
#include <stdlib.h>
struct test{
char *test_member;
};
int main(){
struct test *new_test;
// Allocating memory for structure and its member
new_test = (test*)malloc(sizeof(test));
new_test->test_member = (char*)malloc(80);
// Freeing struct member and struct
free(new_test->test_member);
free(new_test);
return 0;
}
#包括
结构测试{
字符*测试单元成员;
};
int main(){
结构测试*new_测试;
//为结构及其成员分配内存
新的_测试=(测试*)malloc(sizeof(测试));
新的测试->测试成员=(字符*)malloc(80);
//释放结构成员和结构
免费(新测试->测试成员);
免费(新考试);
返回0;
}
由于结构中的变量已分配,因此需要先释放它们,然后释放结构
这与2D数组A的动态分配相同。当您要释放“A”时,需要先释放A[i],然后再释放A以防止内存泄漏
那么您的代码是正确的这是否意味着我不会有任何双重释放问题?谢谢,谢谢,刚刚发现了铸造的缺点