typedef struct node
{undefined
}LNode,*linklist;
linklist是别名,但是为什么起别名的时候不用加直接linklist就可以定义,但是sizeof(linklist)就要加别名?没看懂到底是取地址还是别名?
如果不去别名,定义结果体时需要写全称,struct node obja ;
定义结构体指针时这么写struct node * objp ;
定义了别名后。LNode
等同于struct node
,linklist
等同于 struct node *
linklist相当与整个结构体的指针的别名,指向的是整个结构体。sizeof(linklist)计算的是整个结构体的内存大小(这里的linklist指的是整个结构体的地址,他是结构体名字,名字就是地址和数组名类似数组名也表示首元素地址)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!