当前位置: 首页 > news >正文

从0开始跟小甲鱼C语言视频使用linux一步步学习C语言(持续更新)8.14

第十六天
第五十二,五十三,五十四,五十五和五十六集

第五十二集

文件包含

一个include命令只能指定一个被包含文件
文件允许嵌套,就是一个被包含的文件可以包含另一个文件。
文件名可以用尖括号或者双引号括起来
但是两种的查找方式不同。
在这里插入图片描述

条件编译

没有什么好说的,直接看视频,
在这里插入图片描述
在这里插入图片描述

本章小结

我就直接贴图吧,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第五十三集

结构的概述

在这里插入图片描述
无他,就是如此,一个结构体就是有许多不同的数据,
三种方法定义结构体类型变量都可以,大家记得就行。
结构的嵌套也就那样,我就直接贴图吧。
在这里插入图片描述

结构体变量的引用

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
和数组一样,结构体的地址就是他第一个属性的地址。

第五十四集

结构体变量的初始化

在这里插入图片描述
就是这样的,没有啥注意的

结构体数组

在这里插入图片描述
就是student[3]中的student[0],student[1],student[2],里面每个student[n]都是有num,name[20],sex等等上面这些东西
在这里插入图片描述

投票例题

这里小编直接给大家看答案吧,不想看跳过即可
在这里插入图片描述
小编之前是以为strcmp只能识别英文进行比较,但其实strcmp也能比较汉字,小编还以为只要识别到相同的字符就会直接输出,但其实不是的,他识别到相同的字符不会直接输出,会继续识别知道不同或者完毕。

指向结构体类型数据的指针

在这里插入图片描述
和之前一样,没有什么变化,但是多个一个新的访问形式
在这里插入图片描述
->就是这个,可以代替.,二者是一样的作用。

第五十五集

结构指针变量作为函数参数

在这里插入图片描述
实战演练讲得很清楚,关于为什么用strcpy去将“fish.com”录入,小编觉得就是stu.name=“fish.com”错了,之前说了不能这样的,后面小甲鱼说的小编没听懂,不过也没啥关系。

动态存储分配

malloc函数

无他直接上图
在这里插入图片描述

calloc函数

在这里插入图片描述

free函数

在这里插入图片描述
这些不懂没事,毕竟我没没地方用,等以后要用的时候就会了。

链表

在这里插入图片描述
如同链子一般,一个接一个,每个结点都有一个存储的元素和对接下一个节点的地址,就是这么简单。
例子展示这里
在这里插入图片描述
head=head->next;这里大家应该能懂吧,就是形成顺着链子一路下来的功能

建立动态链表

这里听不懂没关系,小编也是难以听得思路清晰,要花一会去理解,不会没关系,下一集那里他会解释这个流程,看就好了。

第五十六集

上集的动态链表

这里小编用自己的话说下吧。
先开一个结点,然后p1和p2一起指向这个结点,声明n=0,录入数据给这个结点,然后读取里面的数据,如果不是0,就执行n=n+1,判断是否等于1,为什么要这个呢?我们保留疑问,很快说到,n=1的话,那就head=p1,好了,这里的话我们上面的疑问就可以说了,这个判断是否等于1的作用就是用来确定第一个结点的,如果等于1,那就把p1现在的地址规定为head,head是链表的开头。确定完是1,后面就不会成立这个条件了,然后p2赋个p1指向的地址,一起跟过来。好了确定完开头,就要开始创结点了,我们先开一个新结点,这个是有一个命令的,大家直接用就好了,然后使p1指向他,然后录入数据,和上次一样判断是不是0,不是0,把p2指向的那个结点的next(也就是指向下一个结点)赋值为p1此时指向的地址,搭建连接这个结点和下一个结点的桥梁,然后再把p2指向p1指向的地方,也就是把p2拉到刚刚新创的结点,p2建完桥就要过来,准备建下一个桥。继续创新结点,判断…如此反复直到录入的数据为0。
大家可以看视频再来看,视频其实比我更好。大家要配合代码看啊

实现链表的输出

在这里插入图片描述
在这里插入图片描述
就是如此

对链表的删除

大家看视频能懂的
在这里插入图片描述
也是很清晰的。

总结

结构体变量的使用,链表的建立,输出以及删除
今天也就结束了,没有什么了,喜欢的点点赞,作者也是初学者,可以大家一起交流,老手看到错误或者不好的地方,在评论区留言,作者我大大感谢!!

http://www.lryc.cn/news/620723.html

相关文章:

  • 2025 电赛 C 题 发挥3 带数字编号的正方形识别 边长测量
  • [特殊字符]走进华为,解锁商业传奇密码
  • 通过网页调用身份证阅读器http websocket方法-湖南步联科技美萍MP999A电子————仙盟创梦IDE
  • 从根源到生态:Apache Doris 与 StarRocks 的深度对比 —— 论开源基因与长期价值的优越性
  • 审批流程系统设计与实现:状态驱动、灵活扩展的企业级解决方案
  • 实战指南|消防管理系统搭建全流程解析
  • OpenCV ------图像基础处理(一)
  • 【P81 10-7】OpenCV Python【实战项目】——车辆识别、车流统计(图像/视频加载、图像运算与处理、形态学、轮廓查找、车辆统计及显示)
  • 【OpenCV】Mat详解
  • 入门基础人工智能理论
  • 计算机视觉(opencv)实战二——图像边界扩展cv2.copyMakeBorder()
  • 论,物联网日志系统架构如何设计?
  • AI增强SEO关键词表现
  • Postman 平替 技术解析:架构优势与实战指南
  • 考研408《计算机组成原理》复习笔记,第五章(2)——CPU指令执行过程
  • 使用 Docker 部署 PostgreSQL
  • 考研408《计算机组成原理》复习笔记,第四章(3)——指令集、汇编语言
  • Java设计模式之《策略模式》
  • Effective C++ 条款41:理解隐式接口和编译期多态
  • 应用系统连达梦数据库报“服务器模式不匹配”的根源与修复方案
  • 使用colmap自制3DGaussian_Splatting数据集
  • BotCash:GPT-5发布观察 工程优化的进步,还是技术突破的瓶颈?
  • GoLand 项目从 0 到 1:第八天 ——GORM 命名策略陷阱与 Go 项目启动慢问题攻坚
  • 通过机器学习框架实现Android手写识别输入功能
  • Spring Boot 3中JWT密钥安全存储方案
  • Python训练营打卡Day32-神经网络的训练
  • 【Golang】Golang内存泄漏问题排查(二)
  • OpenCv(三)——图像平滑处理
  • 8. 函数简介
  • OpenCV中对图像进行平滑处理的4种方式