一、结构体
1.定义:
结构体类型 构造(定义)语法:
struct 结构体名 //struct结构体类型关键字,结构体名表明这个结构体类型的名称
{
成员列表;
};
例:
struct student
{
char name[20];
char sex;
int sno;
};
struct student s = {“xiaoming”,‘m’,1120}; //初始化,按照成员列表的顺序依次初始化
//成员之间用,隔开
2.定义方式
a.先声明,后定义
b.声明的同时定义(结构体名可以忽略)
3.成员变量
a.类型
一般是不同的类型
b.访问
只能通过 . (成员运算符),逐个访问,不能通过累死数据下标的方式逐个遍历;
c.成员运算和指针结构体成员运算
结构体类型变量名 . 成员变量名
结构体类型名指针-> 成员变量名
注意:同一类型的结构体变量之间可以相互赋值,通过结构体变量指针也可以访问到结构体成员,结构体类型,可以作为函数的形参,也可以作为函数返回值类型。
4.结构体类型存储
5.链式数据结构
特点:增加和删除数据方便,但是存取不方便
a.创建一个链表
struct Node head ;
head . next = NULL; //创建一个空链表
b.插入链表(头插法,尾插法)
二、共用体union
1.定义
共同体技术可以让多个变量共用一块内存空间
union 共用体名
{
成员列表;
};
三、typedef