百度首页 | 百度空间
 
查看文章
 
struct vs typedef struct
2008-06-19 14:45
常见的结构定义方式有以下两种:
struct id{...};                  (1)
typedef struct {} id;      (2)
二者的区别在于(1)中的id是一个tag,(2)中的id是一个type,具体体现在定义变量时:
struct id v1;
id v1;

二者还有些细微的差别,当定义linked list时,在结构体中需引用结构名,如下:
struct list{
      ...
      struct list* next;
};
若用第二种形式
typedef struct {
       ...
       list* next;
} list;
编译器会警告list未定义,一个折中的办法是
typedef struct _list{
      ...
      struct _list* next;
} list;
以上讨论仅对c有效

类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (3)
 
最近读者:
 
网友评论:
1
2008-06-19 15:38
所以我平时都用前者:)
 
2
2008-06-20 12:04
普遍用C啊,呵呵。应该开辟个讨论C的专栏。
 
3
2008-06-29 00:30
希望万师兄多发点博文好让我们多多学习,呵呵。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu