我的VC之路--struct多种声明定义写法的小结

转载 2007年09月18日 18:22:00

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的实例,一个天然的SingleTon
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多种声明定义写法的小结

struct多种声明定义写法的小结 详细讲解struct这个容易混淆的写法的书是有的,《C专家编程》中就有详细的描述。可惜大家喜欢问问题有甚于喜欢看书,于是BBS上泛滥着前人早已经解决、说明清楚的问题...

C++中struct、class 向前声明(前置声明)

声明:我把class定义的类型称为类,struct定义的类型称为结构体。 C++中,如果要在一个类A的声明中用到另一个类B的指针或引用,需要包含类B的头文件,如果不想包含,可以使用向前声明。 但是...

C语言结构体(struct)常见使用方法

结构体与函数: 关于传参,首先: void func(int); func(a.b.c); 把结构体中的int成员变量当做和普通int变量一样的东西来使用,是不用脑子就想到的一种方法。 另外两...

【Struct(结构体)杂谈之二】名不正则言不顺---Struct(结构体)的声明、定义及初始化

Struct(结构体)的声明、定义及初始化        上一篇里我们讲了为什么我们要引入Struct这个数据类型,我们了解到Struct是一种聚合数据类型,是为了用户描述和解释一些事物的方便而...

结构体定义:struct与typedef struct 用法详解和用法小结

一、typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT; ty...
  • haiou0
  • haiou0
  • 2011年10月16日 13:44
  • 38615

VC++中结构体的定义及使用

结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。结构体最最主要的意义就是封装,而封装的好处就是可以再次利用。掌握了结构体的定义和使用方法,对编程具有非常重要的意义...

半路出家, 我的iOS自学之路-4-Block的声明,定义,闭包性,强引用循环

半路出家, 我的iOS自学之路-4-Block的声明,定义,闭包性,强引用循环 我是一只绝望的菜鸟, 只学过Java, 半路出家, 自学iOS. 以下是我读完《Objective - C 编程》(第...

补遗篇之struct(enum/union)多种定义方式

结构体(struct)是各种变量组合形成的新数据类型,struct有多种定义形式,总结下来可分四种,初学者容易混淆。下面一并整理区分,其中要特别留意区分三个元素:结构标签名,结构变量名,结构别名。 ...
  • ipmux
  • ipmux
  • 2013年12月14日 11:51
  • 720

结构体定义 typedef struct 用法详解和用法小结 (2009-12-21 15:40:15)

结构体定义 typedef struct 用法详解和用法小结  (2009-12-21 15:40:15) 转载▼ 标签:  vc   教育   学...

结构体定义 typedef struct 用法详解和用法小结(转自http://blog.sina.com.cn/petertong200651)

typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。 具体区别在于: 若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的VC之路--struct多种声明定义写法的小结
举报原因:
原因补充:

(最多只允许输入30个字)