结构体写法:2.struct stu
{
.......
}s1,s2,*s3,s4[10];
3. struct //省略类型名--只用一次,可以这样写
{
.......
}s1,s2,*s3,s4[10];
共用体
用于节省空间
union 共用体名
{
各个变量;
}; //与结构体类似
内存分配:大小有各个变量中最大的变量决定
枚举
一一列举:将变量的值全列举出来
enum 枚举类型名 //本质为int型
{
变量1,//代表一个值,不赋予则默认为0,接着为1......赋予几,则接着的值为+1
变量2,
.......
变量n
};
缺点:本质为整型,其值不能限定在指定的哪些值的范围内。
可用作形参和返回值
链表
数组://顺序表
优点:随机访问,更方便
缺点:不容易更改
链表:易更改,不易访问。
结构:
[数据|另外一个节点指针]
节点:
struct node
{
数据域;
struct stu s;
指针域;
struct node *p;
}
节点:
1.头节点----数据域值随机
2.首节点----第一个保存有效数据的节点
3.尾节点----链表的最后一个有效节点NULL
空链表:只有头节点,且指针域为NULL
尾插入思路:
1.创建一个新节点
struct node *pnew =malloc(sizeof(struct node))
2.找到尾节点
struct node *p=&head;
while(p->next !=null)
{
p=p->next;
}
3.连接到尾节点
p->next =pnew;
pnew->next=null;