从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.pswp.cn/bicheng/93561.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B+树索引分析:单表最大存储记录数

在现代数据库设计中,随着数据量的增加,如何有效地管理和优化数据库成为了一个关键问题。根据阿里巴巴开发手册的标准,当一张表预计在三年内的数据量超过500万条或者2GB时,就应该考虑实施分库分表策略 Mysql B树索引介绍 及 页内储…

三、memblock 内存分配器

两个问题: 1、系统是怎么知道物理内存的?linux内存管理学习(1):物理内存探测 2、在内存管理真正初始化之前,内核的代码执行需要分配内存该怎么处理? 在Linux内核启动初期,完整的内存…

Python 桌面应用形态后台管理系统的技术选型与方案报告

下面是一份面向“Python 桌面应用形态的后台管理系统”的技术选型与方案报告。我把假设前提→总体架构→客户端技术选型→服务端与数据层→基础设施与安全→交付与运维→质量保障→里程碑计划→风险与对策→最小可行栈逐层给出。 一、前置假设 & 非功能目标 业务假设 典型…

Winsows系统去除右键文件显示的快捷列表

前言:今天重做了电脑系统,安装的是纯净版的系统。然后手动指定D盘安装了下列软件。(QQ,迅雷,百度网盘,搜狗输入法,驱动精灵)然后我右键点击桌面的软件快捷方式,出现了一排…

【Go】Gin 超时中间件的坑:fatal error: concurrent map writes

Gin 社区超时中间件的坑:导致线上 Pod 异常重启 在最近的项目中,我们遇到了因为 Gin 超时中间件(timeout) 引发的生产事故:Pod 异常退出并重启。 问题现场 pod无故重启,抓取标准输出日志,问题…

数据结构:用数组实现队列(Implementing Queue Using Array)

目录 第1步:设计蓝图 (The Struct) 第2步:队列的诞生 (创建与初始化) 第3步:状态检查 (判满与判空) 第4步:核心操作 (入队与出队) 入队 (Enqueue) 出队 (Dequeue) 第5步:善后工作 (销毁队列) 现在,我…

Boost库核心组件与应用

一、BOOST 库简介:C 开发者的 “扩展工具集” 在 C 编程领域,除了标准库(STL)外,BOOST 库是最具影响力的第三方库之一。它由全球数百位开发者共同维护,包含超过 160 个高质量的组件,覆盖从基础…

机器学习 [白板推导](十二)[卡曼滤波、粒子滤波]

15. 线性动态系统(卡曼滤波,Kalman Filter) 15.1. 概述 15.1.1. 背景介绍 变量随时间变化的系统叫做动态系统,其中隐变量取值离散的是隐马尔可夫模型(HMM),而隐变量取值连续的分为线性动态系统…

RH134 访问网络附加存储知识点

1. NFS 的主要功能是什么?答:NFS是一种分布式文件系统协议,主要功能包括:允许远程计算机通过网络访问共享文件。 实现文件系统在客户端和服务器之间的透明访问。支持文件的共享、读取和写入,使得多个 …

组合模式及优化

组合模式是一种结构型设计模式,其核心思想是将对象组合成树形结构,以表示“部分-整体”的层次关系,使得用户对单个对象和组合对象的使用具有一致性。 一、介绍 核心角色 组合模式包含以下3个关键角色: 抽象组件(Compon…

【wmi异常】关于taskkill命令提示“错误:找不到” 以及无法正常获取设备机器码的处理办法

记录一下我的解决方案。 我先查阅了这篇博客:https://blog.csdn.net/qq_45698181/article/details/138957277 发现他写的批处理不知怎么执行不了,后来问了ai又可以执行了,估计是csdn防盗版格式问题 这里写一下我跟ai的对话,大家可…

制造装配、仓储搬运、快递装卸皆适配!MinkTec 弯曲形变传感器助力,让人体工学改变劳动生活

【导语】Minktec 最新实验显示:将Minktec 柔性弯曲形变传感器FlexTail 贴于受试者背部,记录 1 分钟内从洗碗机取餐具的动作,结合配套的flexlib -专用Python库分析,不仅量化出 “越低越伤腰” 的结论,更为制造装配、物流…

Nginx蜘蛛请求智能分流:精准识别爬虫并转发SEO渲染服务

> 一招解决搜索引擎爬虫无法解析现代前端框架的痛点,提升网站收录率与SEO排名! **痛点场景**:你的网站采用Vue/React等前端框架构建,页面内容依赖JavaScript动态渲染。搜索引擎爬虫访问时,只能抓取到空HTML骨架,无法获取真实内容,导致网站收录率低、SEO效果差。 --…

链表。。。

目录 5.1 链表的结点 5.2 插入 5.3 链表长度 5.4 查找 5.5 指定位置删除 5.6 代码 5.1 链表的结点 一个结点包括:值和指向下一个结点的指针。 package com.qcby.链表;public class Node {int value;Node next;public Node(int val){valueval;}Overridepublic…

私人AI搜索新突破:3步本地部署Dify+Ollama+QwQ,搜索能力MAX

1.安装Docker容器 本地部署Dify要先安装Docker桌面版,跟Ollama一样简单,也是去官网下载对应版本文件,直接安装就OK。 2:安装Dify 安装 Dify 简单的方式就是git clone,复制其github地址github.com/langgenius/dify&am…

(2-10-1)MyBatis的基础与基本使用

目录 0.前置小节 1. MyBatis 框架介绍 1.1 软件开发中的框架 1.2 使用框架的好处 1.3 SSM 开发框架 1.4 什么是 MyBatis 1.5 MyBatis 的开发流程 2. MyBatis 的开发流程 2.0 MyBatis的工作流程 2.1 引入 MyBatis 依赖 00.base(目录、pom、单元测试、Junit4) 01.Cal…

StarRocks集群部署

Starrocks 是一款基于 MPP 架构的高性能实时分析型数据库,专为 OLAP(联机分析处理)场景 设计,尤其擅长处理海量数据的实时分析、复杂查询和多维统计。 硬件 CPU:StarRocks依靠AVX2指令集充分发挥其矢量化能力。因此&am…

【CPP】自己实现一个CPP小工具demo,可以扩展其他选项

自己写CPP脚本小工具1. 思路描述2. 代码实现2.1 代码文件CppTool.cpp2.2 CMakeLists.txt3. 工具示例3.1 帮助信息3.2 工具用法3.3 实际使用1. 思路描述 实现一个简单的命令行工具。内容包括: 命令帮助信息参数检查,参数解析等功能。执行其他命令。将指…

如何使用嵌入模型创建本地知识库Demo

为data目录下的txt文档用阿里百炼的文本嵌入模型创建一个本地知识库import os from llama_index.core import ,Settings, SimpleDirectoryReader, VectorStoreIndex from llama_index.core.node_parser import SentenceSplitter from llama_index.llms.dashscope import DashSc…

SpringBoot 整合 Langchain4j:系统提示词与用户提示词实战详解

> 掌握提示词工程的核心技巧,让你的AI应用效果提升300%! **真实痛点**:为什么同样的模型,别人的应用精准专业,而你的却答非所问?关键在于提示词工程!本文将揭秘如何通过系统提示词与用户提示词的巧妙配合,打造专业级AI应用。 --- ### 一、Langchain4j 核心概念…