首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于结构体自引用的有关问题

2013-12-05 
关于结构体自引用的问题看到几个帖子,关于使用typedef实现结构体自引用,模板如下struct tag_2//这里进行

关于结构体自引用的问题
看到几个帖子,关于使用typedef实现结构体自引用,模板如下
struct tag_2;  //这里进行结构体不完整的声明
typedef struct tag_2 NODE;  
struct tag_2{  
    int value;  
    NODE *link;      
};  

但是我看到有一个实际例子
typedef struct tag_2 NODE;  
struct tag_2{  
    int value;  
    NODE *link;      
}; 

缺少了struct tag_2;  //这里进行结构体不完整的声明,但是依然能编译成功,这是为什么?难道不是必须的么
[解决办法]
只要最终能找到类型定义即可,不过提前声明是比较好的习惯,这里还有另外的写法:


typedef struct tag_2
{  
int value;  
struct tag_2 *link;      
}NODE; 



引用:
看到几个帖子,关于使用typedef实现结构体自引用,模板如下
struct tag_2;  //这里进行结构体不完整的声明
typedef struct tag_2 NODE;  
struct tag_2{  
    int value;  
    NODE *link;      
};  

但是我看到有一个实际例子
typedef struct tag_2 NODE;  
struct tag_2{  
    int value;  
    NODE *link;      
}; 

缺少了struct tag_2;  //这里进行结构体不完整的声明,但是依然能编译成功,这是为什么?难道不是必须的么

热点排行