猿问

初学数据结构遇到有一个疑问

教材中有

typedef struct node{
            
            ...
}
node;

请问就功能而言和以下有区别吗?

typedef struct{
           ... /*相同内容*/
}
 node;


白猪掌柜的
浏览 802回答 2
2回答

慕容708150

有区别,在结构体中如果存在struct node类型的成员,那么第二种会报错

繁花不似锦

简单点来说,一般我们取不同的名字,比如typedef struct node_t {  // 具体内容} Node;定义变量时,如果用node_t需要这样写:struct node_t node;如果用Node的话,可以这么简化来写:Node node;如果写成省略掉node_t,就不能用第一种写法了。typedef struct {   // 具体内容} Node;一般node_t都是用来定义链表结构体的typedef struct node_t {  // 具体内容   struct node_t *next; } Node;其实,这只是struct和typedef结合的用法,可以拆分为:struct node_t {  // 具体内容};typedef struct node_t Node;
随时随地看视频慕课网APP
我要回答