typedef struct 在C和C++中用法的区别

来源:互联网 发布:随身带着淘宝到异界 编辑:程序博客网 时间:2024/05/21 09:12

1.typedef最简单的用法:

typedef long byte_4;给已知数据类型long起个新名字,叫byte_4

2.typedef与结构结合使用

typedef struct tagMyStruct

 int iNum;
 long lLength;
} MyStruct;

这个语句完成了连个操作:

(1)定义一个新的结构类型:

tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,struct 关键字和tagMyStruct一起,构成了这个结构类型,不论是否有typedef,这个结构都存在。

我们可以用struct tagMyStruct varName来定义变量,但要注意,使用tagMyStruct varName来定义变量是不对的,因为struct 和tagMyStruct合在一起才能表示一个结构类型。

(2)

typedef为这个新的结构起了一个名字,叫MyStruct。

typedef struct tagMyStruct MyStruct;

因此,MyStruct实际上相当于struct tagMyStruct,我们可以使用MyStruct varName来定义变量。

这是在C语言中比较常用的方式,而在C++中可以直接:

 struct MyStruct
 int iNum;
 long lLength;