分类: C/C++
2010-07-08 10:05:35
Typedef 定义一个结构体
Typedef struct student
{
Int a;
}stu;
1) 在声明变量时可以直接用stu st1; 因为这里的stu相当于struct student的别名。
2) 如果没有typedef,就要用struct student st1;
3) 有时如果别名想和结构体的名字一样,那样是不行的。我们的做法就是在结构体的名字前加上__或者tag_.像下边这样
Typedef struct __student
{
Int a;
}student;
Typedef struct tag_student
{
Int a;
}student;
4) 如何定义一个指向自己的指针. 由于一开始没有找到或者不知道别名的存在,所以不可以用别名,要在用struct 定义下。
Typedef struct __student
{
Int a;
Struct __student *next;
}student;
struct在代码中常见两种形式:
struct A
{
//...
}; //A是结构体类型
struct
{
//...
} A; //A是变量
typedef struct A
{
……..
}B; //B是一个结构体别名
typedef struct
{
……..
}B; //B是一个结构体别名
定义结构变量的一般格式为:
struct 结构名
{
类型 变量名;
类型 变量名;
} 结构变量;
结构名是结构的标识符不是变量名。
另一种常用格式为:
typedef struct 结构名
{
类型 变量名;
类型 变量名;
} 结构别名;