首页 > 代码库 > struct多种声明定义写法的小结
struct多种声明定义写法的小结
详细讲解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;}
struct多种声明定义写法的小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。