posts - 19,  comments - 21,  trackbacks - 0

详细讲解struct这个容易混淆的写法的书是有的,《C专家编程》中就有详细的描述。可惜大家喜欢问问题有甚于喜欢看书,于是BBS上泛滥着前人早已经解决、说明清楚的问题。哎,中国勤学好问者的悲哀。这里简要说明一下struct,为大家省钱。

/* struct.c
*  本程序演示了struct的种种写法。注意,所有这些写法都能编译通过
*  author: smileonce
*  date  : 2005-01-14
*/



// 这种写法是最要命的,但是它却可以通过, 最后面那个foo是结构体的实例
struct foo
{
    
int foo;
}
 foo;

// 有了typedef,意义明显与上面不同,注意的是struct后面那个标签可以不写,最后面那个bar是匿名结构体的别名
typedef struct 
{
    
int bar;
}
 bar;

// 这种写法是最没人用的,因为它的定义是一次性的,struct1是一个匿名struct的实例
struct 
{
    
int aaa;
}
 mystruct1;

//最常用的写法,清晰不言自明,my_struct_tag是结构体标签,my_struct_type是struct my_struct_tag的别名
typedef struct my_struct_tag
{
    
int aaa;
}
 my_struct_type;

// 下面两种定义的写法都可以,当然使用typedef定义的写法更简洁些
my_struct_type mystruct2;             //通过typedef定义的结构别名来定义变量
struct my_struct_tag mystruct3;       //通过结构标签定义变量


int main(int argc, char *argv[])
{
 
return 0;
}

-------------

posted on 2005-11-25 15:04 halCode 阅读(835) 评论(0)  编辑 收藏 引用 所属分类: VC/MFC

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2005年11月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用链接

留言簿(7)

随笔分类

随笔档案

文章分类

文章档案

相册

编程资源

不务正业

找工作

搜索

  •  

最新评论

阅读排行榜

评论排行榜