关于typedef struct {}LNode,*linklist; 的疑问?

typedef struct node
{undefined

}LNode,*linklist;

linklist是别名,但是为什么起别名的时候不用加直接linklist就可以定义,但是sizeof(linklist)就要加别名?没看懂到底是取地址还是别名?

如果不去别名,定义结果体时需要写全称,struct node obja ; 定义结构体指针时这么写struct node * objp ;
定义了别名后。LNode等同于struct nodelinklist等同于 struct node *

linklist相当与整个结构体的指针的别名,指向的是整个结构体。sizeof(linklist)计算的是整个结构体的内存大小(这里的linklist指的是整个结构体的地址,他是结构体名字,名字就是地址和数组名类似数组名也表示首元素地址)

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632