结构体与单向链表

一、结构体

1. struct  (结构体名字(标识符))-------  一般第一个字母大写;

     -----------分号不可少;

  ------------  结构体成员赋值,“  ·  ”结构体成员运算符;

  -----------结构体成员初始化,只初始化一部分成员(.成员名),其他成员自动为0;

--------- 只能用s1 ,s2

2.结构体对齐(为了提高cpu的执行效率,浪费一部分空间(4的整数倍,32根数据总线4字节))

(1)结构体按照其最长成员大小对齐,意味着最终的大小必须是最长成员大小的整数倍;
(2)结构体成员按照结构体成员声明先后次序依次存放,并且每个成员的首字节放置的位置必须能够整除成员的字节数;
(3)如果结构体某个成员的字节数大于CPU的字节数,则最长按照CPU的字节数对齐;
(4)用预处理命令#pragma pack(n) 可以强制编译器按照指定的n来对齐,合法的n的数值分别是           1、2、4、8、16。

二、结构体作为函数参数传递

1.一般使用指针传参(节省空间,提高效率);

2.  -> 指向结构体成员运算符(右边为指针时);

3.结构体数组作为参数传递

4.结构体变量可以整体引用;

5.延时函数:sleep

6.输出缓冲区

(1)遇到'\n'输出显示 ; 

(2)fflush(stdout)

(3)输出缓冲区满,全部输出显示;

三、单向链表(是一种基础的数据结构,由一系列节点组成,每个节点包含两个部分:数据部分和指向下一个节点的指针。)

1.Node(节点)  (1)值域:

                          (2)指针域:指向下一个值域,最后一个置为NULL;

2.(1)无头链表:是一种链表实现方式,它并不使用一个头节点(或哨兵节点)来标识链表的开始,而是直接使用第一个有效节点作为链表的头部。与用一个额外的头节点的链表不同,无头链表的头开始时是一个空指针,指向链表的第一个节点。

   (2)有头链表:是链表的一种实现方式,其中包含一个额外的头节点。头节点通常不存储有效数据,而是用来简化链表的操作(如插入和删除)。

(3)头插

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值