C语言允许用户自己建立由不同类型数据组成的组合类型的数据结构,称为结构体(structure)。在其他高级语言中成为"记录"(record)。声明结构体类型的一般形式为:
可以用typedef指定新的类型名来代替已有的类型名。声明一个新的类型名称的方法归纳如下:
例如:
struct 结构体名称{
成员列表
}
定义结构体有以下3种方式:
1.先声明结构体,在定义结构变量//声明结构体类型Student
struct Student {
int num;
char name[20];
char sex;
int age;
};
//定义Student类型的变量
struct Student stu1,stu2;
2.在声明结构体的同时定义变量
//声明结构体类型Student的同时定义struct Student类型的变量stu1,stu2
struct Student {
int num;
char name[20];
char sex;
int age;
}stu1,stu2;
3.不指定类型名而直接定义结构体变量
//不指定类型名称直接定义结构体变量stu1,stu2
struct {
int num;
char name[20];
char sex;
int age;
}stu1,stu2;
如果指针p指向一个结构体变量stu,以下三种方法等价
- stu.成员名(如:stu.num)
- (*p).成员名(如:(*p).num)
- p->成员名(如:p->num)
可以用typedef指定新的类型名来代替已有的类型名。声明一个新的类型名称的方法归纳如下:
- 先按定义变量的方法写出定义体(如:int i;)
- 将变量名换成新类型名(例如:将i换成Count)
- 在最前面加typedef(例如:typedef int Count)
- 然后可以用新类型名去定义变量
例如:
//利用typedef定义新类型
typedef struct SqList {
int r[10];
int length;
}SqList,*SqList;
//在用新类型定义变量
SqList L1,L2
2225

被折叠的 条评论
为什么被折叠?



