结构体嵌套多层结构体指针怎么malloc?
struct{inta1;inta2[100];}A;struct{intB1;intcountA;structA*a;}B;struct{intc1;structAa;...
struct
{
int a1;
int a2[100];
}A;
struct
{
int B1;
int countA;
struct A *a;
}B;
struct
{
int c1;
struct A a;
int countB;
struct B *b;
}C;
结构体指针多层嵌套,如何malloc给结构体C分配内存 展开
{
int a1;
int a2[100];
}A;
struct
{
int B1;
int countA;
struct A *a;
}B;
struct
{
int c1;
struct A a;
int countB;
struct B *b;
}C;
结构体指针多层嵌套,如何malloc给结构体C分配内存 展开
展开全部
嵌套的结构也是成员变量啊。成员变量是指针就先malloc成员变量就行了。这和我们写结构链表的*next指针是一个道理啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序中有一个结构体指针,我想拷贝一份,建立一个新的结构体指针变量,并且分配内存。
可是结构体里面嵌套了多层结构体指针,这样分配内存好麻烦,一层一层的,也怕漏掉。
有没有什么好的办法进行这种结构体指针的深度拷贝?主要是嵌套太多层。
可是结构体里面嵌套了多层结构体指针,这样分配内存好麻烦,一层一层的,也怕漏掉。
有没有什么好的办法进行这种结构体指针的深度拷贝?主要是嵌套太多层。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-01-25
展开全部
比较好的方式是嵌套调用,...嗯,类似初始化函数.
struct A *get_A(){
return (struct A *)malloc(sizeof(A));
}
struct B *get_B(){
struct B *tmp = (struct B *)malloc(sizeof(B));
tmp->a = get_A();
return tmp;
}
struct C *get_C(){
struct C *tmp = (struct C *)malloc(sizeof(C));
tmp->b = get_B();
return tmp;
}
差不多就这样,当然你也可以展开,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//在结构体中只保存指针 #define BUFFER_TITLE 256 #define BUFFER_INFO 4096 typedef struct tagInfo { char* szTitle; char* szInfo; } INFO, *LPINFO; LPINFO pInfo = (LPINFO)malloc(sizeof(INFO)); //分配结构体内存 pInfo->szTitle = (char*)malloc(sizeof(BUFFER_TITLE)*sizeof(char)); pInfo->szInfo = (char*)malloc(sizeof(BUFFER_INFO)*sizeof(char));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询