关于union的小问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 23:36:42
typedef struct node
{
int a;
char *c;
struct node *next;
union abc
{
int b;
char *f;
struct node *first;
}j;
}node,*LinkList;
已知node *p;怎么调用以上6个量(a,c,next,b,f,first)谢谢

node *p = (node *)malloc(sizeof(node));
// 调用方法如下,编译之后没有问题
p->a = 0;
p->c = "node::c";
p->next = (node *)malloc(sizeof(node));
p->j.b = 0;
p->j.f = "node::abc.f";
p->j.first = (node *)malloc(sizeof(node));

free(p->next);
free(p->j.first);
free(p);

p->a
p->c
p->next
p->j.b
p->j.f
p->j.first