首页 > 编程语言 >2022-2023-1 20221318 《计算机基础和程序设计》第十四周学习总结

2022-2023-1 20221318 《计算机基础和程序设计》第十四周学习总结

时间:2022-12-03 11:14:49浏览次数:61  
标签:20 变量 指向 链表 2022 2023 20221318 节点 结构

这个作业属于那个班级 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14
作业目标 学习《C语言程序设计》第12章
作业正文 https://www.cnblogs.com/ni-yidan/p/16933456.html

教材内容总结
在第十二章“结构体与数据结构基础”中,
* 结构体类型的声明

* 结构体变量的定义
(1)先定义结构体类型再定义变量名
struct student stu1
(2)在定义类型的同时定义变量
(3)直接定义结构体变量(不指定结构体标签)

用typedef定义数据类型名

* 结构体变量的初始化

* 嵌套的结构体————嵌套的结构体(Nested Structure)就是在一个结构体内包含了另一个结构体作为其成分

* 结构体变量的引用
访问结构体变量的成员必须使用成员选择运算符(也称圆点运算符)

当出现结构体嵌套时,必须以级联方式访问结构体成员

* 结构体数组的定义和初始化

* 结构体指针的定义和初始化

如何访问结构体指针变量所指向的结构体成员呢?
(1)通过stu1和成员选择运算符访问结构体成员
stu1. studentID = 1;
(2)通过pt和指向运算符访问结构体成员
(pt). studentID = 1;
pt -> studentID = 1;
当结构体嵌套时,如何访问结构体指针变量所指向的结构体成员?
stu1. birthday. year = 1999;
(
pt). birthday. year = 1999;
pt -> birthday. year = 1999;
如何定义指向结构体数组的指针?

如何访问结构体数组指针指向的结构体成员?

* 向函数传递结构体
(1)向函数传递结构体的单个成员
复制单个成员的内容
函数内对结构内容的修改不影响原结构
(2)向函数传递结构体的完整结构
(3)向函数传递结构体的首地址
* 共用体————sizeof(union number)取决于占空间最多的那个成员变量
(1)同一内存单元在每一瞬时只能存放其中一种类型的成员
(2)起作用的成员是最后一次存放的成员,不能作为函数参数
(3)不能进行比较操作,只能对第一个成员初始化
* 枚举数据类型
(1)描述的是一组整型值的集合
(2)用于当某些量仅由有限个数据值组成时

* 动态数据结构——单向链表
特点:用一组任意的存储单元存储线性表数据。存储单元可以是连续的,也可以是不连续的

1.向链表中添加节点
(1)若原链表为空表(head == NULL) ,则将新建节点p置为头节点

(2)若原链表为非空,则将新建节点p添加到表尾

2.链表的删除操作
(1)若原链表为空表,则退出程序;若待删除节点p是头节点,则将head指向当前节点的下一个节点即可删除当前节点

(2)若待删除节点不是头节点,则将前一节点的指针域指向当前节点的下一节点

(3)若已搜索到表尾(p->next == NULL)仍未找到待删除节点,则显示“未找到”
3.链表的插入操作
(1)若原链表为空表,则将新节点p作为头节点,让head指向新节点p

(2)若原链表为非空,则按节点值的大小(假设已升序排序)确定插入新节点的位置。若在头节点前插入节点,则将新节点的指针域指向原链表的头节点,且让head指向新节点

(3)若在链表中间插入新节点,则将新节点的指针域指向下一节点且让前一节点的指针域指向新节点

(4)若在表尾插入新节点,则末节点指针域指向新节点

* 链表的输出

教材学习中的内容
Q: 程序的存储类型?
A: 存储类型分别是auto(自动),extern(外部),register(寄存器),static(静态)
1.auto
在函数体中定义的变量缺省是auto.当进入代码块(block)时,系统为自动变量分配内存.在块内,这些变量被定义,并被认为他们是局部于本块的.当退出块时,系统释放分配给自动变量的内存,因此,变量值就丢失了.重新进入块,系统会为自动变量再次分配内存,原先的值已经没有了.
2.extern
在函数的外部声明变量,就为变量永久的分配存储,它的存储类型是extern。定义在函数外部的变量的存储类型都是extern,既不使用关键字extern.使用extern关键字是告诉,编译器”在本文件或其他文件中寻找它”。既a文件中int a =1在b文件中则可以使用extern int a;来调用它。外部变量从不会消失,因为外部变量在整个程序执行期间都是存在的。
两种方式向函数传递信息:1.使用外部变量.2.使用参数.当函数从其内部而不是通过参数表改变全局变量时,会产生副作用.这样的构造容易引发错误.正确的做法是通过参数和返回机制影响全局变量.
3.register
register高速编译器应该把有关的变量存储在高速的内存寄存器中.使用存储于类型register是要试图改善执行速度.当关系速度时,可选择一些最经常访问的变量,并把他们的存储类型声明为register.
register i;等价于register int i;,register默认是int类型.
4.static
允许局部变量保存它的原有值,以便再进入块时使用.
void f(void)
{
static int cnt = 0;
}

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
第一周 0/0 3/3 20/20
第二周 105/105 2/5 20/40
第三周 150/255 2/7 20/60
第四周 210/465 2/9 20/80
第五周 280/745 2/11 20/100
第六周 320/1065 1/12 20/120
第七周 400/1465 1/13 20/140
第八周 400/1865 1/14 20/160
第九周 400/2265 1/15 20/180
第十周 400/2665 1/16 20/200
第十一周 400/3065 1/17 20/220
第十二周 360/3425 1/17 20/240
第十三周 360/3785 1/18 20/260
第十四周 360/4145 1/19 20/280

标签:20,变量,指向,链表,2022,2023,20221318,节点,结构
From: https://www.cnblogs.com/ni-yidan/p/16933456.html

相关文章

  • 互联网最全cka真题解析-2022
    1、CKA真题解析kubectl自动补全及帮助信息1、配置kubectl自动补全aptinstallbash-completionsource<(kubectlcompletionbash)2、kubectlexplans帮助信息3、kubec......
  • 最新 2022 年 Kubernetes 面试题高级面试题及附答案解析
    题1:KubernetesService都有哪些类型?通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上。其主要类型......
  • lazarus 修正集合(2022.12.03)
    1.修正日期分隔符乱码(linux)https://www.cnblogs.com/qiufeng2014/p/16343424.html2.修复lazaruslinux(ubuntu/银河麒麟)ObjectInspector、使用combobox、colorbox等控......
  • 【2022-11-26】今日计划
    20:00天地间惟谦谨是载福之道,骄则满,满则倾矣。凡动口动笔,厌人之俗,嫌人之鄙,议人之短,发人之覆,皆骄也。无论所指未必果当,即使一一切当,已为天道所不许。      ......
  • 【2022-11-27】裸婚动力
    20:00一切福田,不离方寸;从心而觅,感无不通。                                       ......
  • SequoiaDB分布式数据库2022.11月刊
    产品能力再获认可,入围多个榜单、报告 近日,由国际数据公司IDC主办的第七届数字化转型年度盛典在北京如期举行。本届盛会,主办方首次面向非企业客户群体(方案提供商)颁发I......
  • NOIP 2022 游记(题解)
    NOIP2022游记(题解)目录NOIP2022游记(题解)更好的阅读体验戳此进入T1[NOIP2022]种花题面SolutionCodeT2[NOIP2022]喵了个喵题面Solution写在后面CodeT3[NOIP2022]建......
  • 2022-2023 20221403《计算机基础与程序设计》第十四周学习总结
    学期(2022-2023-1)学号(20221403)《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个......
  • Week - 2022/10/24~2022/11/16 周记
    已经不知道多久没有写过周记了。。。。。。突然又想起来周记是因为cc0000提到了一下距离NOIP还有10天了,瞬间感觉好像可以开始写NOIP2022退役记了。。。所以先来......
  • 2022.11.18 模拟赛小结
    2022.11.18模拟赛小结目录2022.11.18模拟赛小结更好的阅读体验戳此进入赛时思路T1CodeT2CodeT3CodeT4Code正解T1CodeCodeT2CodeT3T4UPD成天写ODT,然后T2想了半天怎么维......