struct的使用中,经常会有看到下面两种:
(1)
typedef struct tagMyStruct
{
int iNum;
long lLength;
} MyStruct;
(2)
struct tagMyStruct
{
int iNum;
long lLength;
} MyStruct;
针对第(1)种,它完成两件事
1)定义一个新的结构类型,即
struct tagMyStruct
{
int iNum;
long lLength;
};
2)使用typedef为这个新的结构类型起一个名字为MyStruct,即
typedef struct tagMyStruct MyStruct;
因此,MyStruct实际上相当于struct tagMyStruct,可以使用struct tagMyStruct来定义变量,也可以直接使用MyStruct来定义变量
针对第(2)种,同样完成两个操作
1)定义一个新的结构类型,即
struct tagMyStruct
{
int iNum;
long lLength;
};
2)定义此新的结构类型的一个变量MyStruct,即
struct tagMyStruct MyStruct;
所以在上面的两种情况中,MyStruct的意义是不同的,其中(1)中的MyStruct为一个新的变量类型,(2)中的MyStruct为一个具体的结构体变量.
阅读(2544) | 评论(0) | 转发(4) |