计算机二级-C语言 - 第四章:考前冲刺
分享给朋友:

按住画面移动小窗

下载
C语言-结构体与链表-计算机二级重难点冲刺
虎课APP支持视频下载
扫码下载/打开虎课APP
支持视频下载,随时随地学
手机观看
扫一扫,手机继续学
扫码下载/打开虎课APP
支持视频下载,随时随地学
C语言-结构体与链表-计算机二级重难点冲刺_虎课网
记笔记

全新AI视频总结上线

一键节省你80%学习时间

视频暂不支持AI视频总结
AI视频总结
编辑完成后,记得点我~

358

已学

62小时

时长

150

配套素材

完课证书

¥199(¥299)

全站通VIP免费畅学

立即购买
学员评价 (0条评论)视频字幕
您需要学习后才可以评价, 立即学习
评论列表
仅显示有内容的评论
仅显示带图评论
排序方式:

好 各位同学 ,那么现在我们开始本节课的学习 ,这节课我们要讲的内容 ,那么分为两个部分 ,第一个部分是我们这个结构体 ,那有同学说链表不讲吗 ,这个我们注意一下结构体 ,包括我们这个链表了 ,给大家解释一下 ,关于这个结构体相对来说 很多同学觉得比较难 ,那么咱们给大家 这个两个方面来入手 ,第一个方面 把结构体回顾一下 ,第二个方面 通过一个真题把结构体给大家学习一下 ,这第一个内容 ,第二个内容 ,那么就是我们这个编程题 ,给大家说一个简单的技巧 ,那么如果运气好的同学 ,或者是说我们这个考试的时候 实在不会做了 ,就可以采取一下 我这个方法 ,那么本节课基本上这么一个 这个布局 ,那么时间大概是一个小时的样子 ,但是时间的话 并不绝对 ,如果内容讲得慢 ,我们就延长一点 ,讲得快 我们就稍微快点也可以 ,好 那么现在我们先进行第一个问题 结构体 ,那么什么是结构体 ,我们要明白 ,那么结构体它不是产生一个新的数据类型 ,而是把我们现有的数据类型进行一个整合 ,要明白这个问题 ,那么所以结构体里面的话 有两个问题 ,第一个是结构体类型的说明 ,第二个是结构体变量的定义 ,这个很重要 ,如果你分不清哪一个是类型的说明 ,哪一个是变量的定义的话 ,那么你在结构体 这个引用过程中 肯定会出错的 ,这要明白 ,那么先来看第一个问题 ,我们结构体类型的说明 ,跟上来 不要开小差 ,这个笔记做不赢的话 没关系 ,下课以后发给大家就可以了 ,结构体类型的说明 ,我们看第一个问题 ,那么在我们当前这个程序里面 ,我们来看一下 ,当前这个就是我们结构体的定义 ,明白 ,那么结构体的定义 必须以这个关键词开头 ,然后后面这个是我们结构体类型 ,

类型你可以随便定义 ,只要满足我们变量的定义要求就可以了 ,那么咱们回想一下 变量定义要求有哪一些 ,只能出现我们的数字 字母 下划线 ,而且不能够以数字开头 ,这个在这个地方 同样要满足 ,然后这个里面是我们结构体成员 ,结构体成员完了以后 ,接下来应该是我们结构体变量 ,那么这个地方 我们有三种定义结构体变量的方法 ,那么这里我们等会再说结构体变量 ,先把这个类型说完 ,那么从现在开始 ,我们要明白 ,这个地方 它是结构体类型的名称 ,不是我们变量的名称 ,然后当前这一个结构体 ,它没有定义我们的变量 ,那么这是第一个问题 类型的说明 要明白 ,接下来我们学第二个问题 ,结构体变量的定义 ,变量的定义 有三种方法 ,第一种方法是类型说明时 ,这个定义我们的变量 ,第二种方法是先定义类型 ,这个在我们选择题目里面 也是要考的 ,再定义变量 ,这第二种 ,第三种就是没有类型名 ,这个直接定义我们变量 ,这三种在我们选择题目里面 ,有可能会考 它怎样考呢 ,它说下面哪一个定义的是正确的 ,或者说下面哪一个是我们的变量 都要能够识别 ,那么现在我们看一看 ,第一种就是边定义 边使用 ,那么当前我们看这个地方 ,我们来一个a ,那么当前我们这个a ,它就是我们的结构体变量了 ,这个是我们的类型名 ,这个是我们的变量 ,这第一种情况 ,在我们这个里面对应的第一种情况 ,

那么是类型说明时 定义变量 ,类型说明时 ,顺便就把变量定义好了 ,看第二种情况 ,第二种情况是我们通过我们这一个重新 我们写struct slist ,我们这一个 来定义我们的变量 ,那么这一个也是可以的 ,那么是先类型说明 再进行变量定义 ,这是我们第二种方法 掌握好 ,第三种方法是这个情况 ,把前面这个类型名删除掉 ,这一个也是可以的 ,这就属于我们第三种 叫做没有类型名 直接定义变量 ,第三种相对来说用的很少 ,为什么用的很少 ,咱们可以想象一下 ,这一个结构体 ,除了这个地方可定义变量以外 ,在别的地方 它是无法定义变量了的 ,因为它没有名称 ,对不对 ,那么这是我们三种最常见的定义方法 ,除了这三种以外 ,我们稍微还注意一个 我们用户自定义 ,那么大家看屏幕上面 ,在当前这个结构体定义的前面 ,加了这么一个typedef ,那么这是我们用户自定义 ,那么咱们现在来互动一下 ,请问我们这个a是什么东西 ,那么这里我们要记清楚了 ,a 它不再是我们变量 ,而是一个类型的说明符 ,那么什么意思 ,我们写个a 写个x ,那么这个是可以的 ,它表示什么意思 ,我们这个a 它是我们 它的一个别名 ,它的一个小名 ,在我们题目里面 ,一般的话 会把它进行一个大写 ,用来区分我们的变量和这个类型 ,咱们看这个地方是这样一个意思 ,那么这里面要明白的是 它不再是变量了 ,而是可以通过它 直接来定义我们的变量 ,而反过来讲的话 ,

我们这个slist去定义一个变量 是不可以的 ,这样去定义是不行的 ,这样我们是一个类型名 类型名定义时候 ,前面必须写上我们这个struct这个关键词 ,这样才可以 记好 记好这个地方 ,刚才我们定义的是一个结构体变量 ,那么咱们再来一个 再来 ,笔记 可以细一点 ,笔记的话 我们可以通过下课以后 ,把这个视频和笔记结合看一遍也可以 ,下面我给大家这个详细一点也可以 ,接下来我们看第二个问题 ,那么在我们结构体变量中 ,有三种情况 ,那么分别是我们的普通变量 ,我们的指针变量 ,我们的这个数组变量 ,看好 又难一点了 ,我们刚才讲了结构体变量定义 ,定义的话 我们这里有三种 ,三种 那么分别是这三种 ,接下来我们看 有同学说不是最后一个大题吗 ,先别着急 ,把我们这掌握好了以后 ,后面的大题 没有那么难 ,这里是普通 打错了 ,我们来看 ,那么第一种情况是 ,当前我们这个地方 ,就定义了一个普通的x变量 ,除了这种以外 ,我们还可以来看 ,我们的*号p ,那么这里是定义了一个指针变量 ,然后再来一个 我们的数组变量 ,这个三种都是可以的 ,x普通变量 ,指针变量 ,我们的数组变量 ,那么这是我们第二个问题 ,我们关于结构体变量 我们学习完毕 ,第3个问题 ,结构体成员的引用 ,结构体成员的引用 我们也分为两种情况 ,

第一种情况是我们这一个 三种情况 ,第一种情况是我们这个普通变量 ,第二种情况是我们这个指针变量 ,第三种情况是我们的数组变量 ,那么现在我们第一种 普通变量是最简单的 ,我们通过的是我们的小圆点 ,就可以来引用 ,例如当前这个程序里面 我们写一个x.s ,等于47 ,那么这个是可以的 ,这里我们x.s等于47 它这里有个错误提示 ,我们看一看 ,这个错误提示的话 ,是因为我们这个语句 写在我们这个函数外面了 ,这里我们不管它 这个问题算了 ,我们也可以写到里面来 ,我们写到我们这个主函数里面来 也可以 ,x.s 那么等于我们47 ,那么这样是可以的 ,我们看屏幕上面 没有错误 ,这个x是我们的结构体变量 ,s是我们的成员 ,大家看前面 ,在当前我们结构体定义里面 ,这个是我们的成员 ,这个是我们的变量 ,那么它去引用它 ,我们用小圆点来隔开 ,这个要明白 ,好 第二个是我们指针 ,那么指针的话 有两种情况 ,第一种情况是通过我们这个指针名称 ,那么通过我们指针名的话 是横线大于号我们的成员 ,第二种情况是我们的*号 ,我们的p 我们指针 ,指针名也是 指针名 ,然后小点 我们这一个成员 ,那么这里面 我们要给大家讲一个问题是 ,我们这个*号和我们这个小点 ,它们的运算优先级别 ,哪个同学能告诉我 ,我们这个指针的*号和我们这一个小点 ,哪一个的这个级别高一些 ,知道吗 ,这里很多同学可能不一定知道 ,那么这里给大家详细讲一讲 ,

我们这个小点最高 ,回答非常好 ,关于这一个地方 ,我们有一个成员的运算级别的问题 ,给大家补充一下 ,那么就是我们这个*号 ,然后p++跟我们的*号p小圆点 我们的成员 ,那么这个里面 ,这个里面我们记清楚了 ,我们这个*号和我们的++是同级的 ,自右向左结合 ,记好这个点 ,第二个点就是我们的成员运算 ,比我们这个*号和我们的++级别都要高一些 ,那么所以我们来看一看 当前这个地方 ,它所表达的含义是 应该是先算p++ ,也就是说把指针移动一个位置 ,然后再来取它里面的值 ,那么这个表达是这么一个意思 ,那么下面这一个的话 它是不是有问题了 ,那么这里应该怎么做的 ,应该先写一个括号 ,再来点我们的成员 ,那么这个地方也就是我们很多同学要错的地方了 ,这里我们必须把*号和指针名括起来 ,也就是说要先算它 ,再来算我们的这个成员 ,如果你不加个括号 ,那么就变成它了 ,就变成什么 ,指针名.成员 ,然后前面加个*号 ,那么这是错误的 ,也就是说我们这个.成员 ,如果前面这个.成员 这个点 ,它前面必须是我们的变量 ,不能是我们地址 ,我们前面这一个 它前面不是个变量吗 ,

后面的话 是我们这一个成员 ,所以我们记清楚 ,前面必须是我们的变量 ,后面才是我们的成员 ,记好了 ,那么这是我们这个地方 第二个点 ,大家学好了 ,记住这个地方 加括号 ,我们来看第3个点 ,第3个点 那么不是很难 ,例如当前这地方是a3 ,那么所以在我们数组里面 我们要记清楚 ,必须通过我们的循环语句来引用 ,例如刚刚这个问题 我们要引用里面的成员 怎么引用 ,我们来一个int语句i ,然后我们这个等于我们0 i要小于我们的3 ,然后i++ ,那么这里的话 一个循环语句 ,完了以后 我们再来写 数组的名字什么 ,数组的名字是我们这个a3 ,所以这里面我们写一个a中括号 ,我们这个i 然后.我们的s 给它进行什么 赋值 ,那么你可以赋个15 ,那么3个元素 ,它的成员s 都给我们赋值为15了 ,那么是我们数组 记清楚 ,必须通过我们循环来做 ,不然的话 是不可以的 ,那么数组名我们是怎样表示的 ,数组名 ,然后中括号 我们的下标 ,然后.我们的成员 ,那么这一个关于结构体成员 ,我们就这三种情况 ,特别留意 第二种的这种情况和第三种 ,千万不要写一个数组名.成员 ,很多同学这个里面 他写一个a.s ,他觉得这样就可以读取我们的数据了 ,我们的数组 ,特别是我们数字数组 ,必须通过我们循环语句 来实现这个功能 ,好 那么关于我们这个结构体 ,最基础的内容我们就学习完毕 ,

接下来我们进入到第二个大问题里面 ,就是我们同学比较感兴趣的 我们链表了 ,那么链表的话 它是个什么东西 ,在我们这个结构体 ,也就是我们讲链表之前 ,我们的数据的存储 它都应该是连续的 ,在我们讲链表之前 ,我们这个数据的存储 它都应该是连续的 ,像我们的数字数组a3 ,像我们的字符串abc ,它都必须是满足连续的 ,但是从我们链表开始 ,我们就可以不要连续存储了 ,那么它是怎样来存储我们数据的 ,它有两个部分组成 ,假设这个是我们一个数据 ,这个数据它要有两部分组成 ,一部分是我们这个数据域 ,我们在公共基础里面也讲到这个问题 ,它是我们数据部分 ,第二部分是我们的地址部分 ,然后前面这个数据部分 很好理解 ,存储我们的数据 ,地址部分的话 ,应该是存储什么东西 ,下一个数据的地址 ,那么这里我们写下来 ,那么一个数据成员 有两部分组成 ,那么分别是这个数据部分 ,或者说我们称它为数据域和我们这个地址域 ,这个地址域 它是什么东西 ,是下一个数据的地址 ,这要明白 ,那么咱们讲了这个下一个数据的地址 ,我们的问题又来了 ,这里的这个地址域的类型 ,地址域的话 肯定什么 ,地址域 肯定是我们这个指针的 ,我们只有这个指针 才能存储我们这个地址 ,对不对 ,那么这个指针必须是这个数据的 ,

或者说是整个数据的类型 ,这个什么意思 ,可能大家不是很理解了 ,什么意思 ,刚刚画了一个图 ,这个地方我们是一个数据 ,前面是我们数据部分 ,后面是我们指针部分 ,那么我们下一个数据在这个地方 ,下一个数据的地址101 ,那么这里面存一个101 ,那么咱们想一想这个指针 ,它指向我们这个地址 ,那么是不是 跟我们这个地址的类型相同 ,例如我们前面学指针的时候 ,我们写一个int ,然后a等于3 ,然后来一个int语句 我们的p *号p ,那么等于& a ,这里我们想一想 上面这个3的类型 是我们整型的 ,所以我们的*号p 也应该是整型的 ,必须满足相同类型 ,那么这里我们的链表也是一样的 ,必须满足相同类型 ,那明白这个好了以后 ,我们来看一下当前这个链表里面的内容 ,那么咱们看一看 ,这个我把其他东西删掉 ,那在我们这个里面 我们看 ,这个里面 我们看 它两部分组成 ,我们数据和我们这个指针 ,那么咱们这里也给大家说一下 ,在我们链表里面 它的结构体应该是固定的格式 ,前面应该是一个普通的变量 ,后面应该是一个指针 ,而且这个指针 一般的情况下面 命名为它 ,这个指针类型 应该跟我们整个结构体的类型相同 ,为什么要跟它类型相同 ,那么原因跟大家已经解释过了 ,因为这个指针要指向的下一个数据 ,它应该是整个这个类型的数据 ,对不对 ,那么这是我们链表的这个定义 ,

要学会 ,好 没问题 ,接下来我们继续来学习后面的内容 ,那么关于链表的这个创建 ,我们给大家简单的写一下 ,第一个 ,struct这么一个单词 ,然后是我们这一个类型名 ,类型名完了以后 ,后面应该是我们大括号 ,我们表示我们成员 ,大括号里面 应该是第一个是我们这个数据 ,对吧 ,第二个应该是我们的指针 ,而且这个指针 它的类型 ,应该跟我们这个结构体的类型是相同的 ,一般情况下面 ,我们这个指针的名字 用这个next ,这要明白 ,那么这个我们学好了以后 ,接下来我们继续来学习我们链表 ,那么链表有3个内容 我们要学习 ,第一个是我们要建立我们这个链表 ,我们这个地方 仅仅是建立了一个数据 单个数据 ,对吧 ,所以我们接下来做的事情是 建立我们链表 ,然后我们要这个删除 我们这个链表中的数据 ,第三个是我们要插入一个数据 ,那么这3个 在链表操作过程中 是我们所有同学要掌握的 ,所以现在我们来看一看 ,第一个我们建立链表 相对来说要难那么一点点 ,一般的话 它不会考我们编程 ,但是我们后面两个是绝对要考 ,如果你抽到这个链表题目了 ,是绝对要考的 ,要求我们会编写的 ,那么讲这些内容之前 ,我有两个语句送给大家 ,那么第一个语句是什么 ,我们while语句括号里面 我们写一个p ,那么这一个语句 在考试的时候 ,

如果某一个题目 你实在不会做了 ,

登录后查看更多
电脑办公入门
共 140 节课
职场英语学习
共 101 节课
英语口语入门
共 105 节课
计算机二级-C语言
共 151 节课
职场PPT学习
共 112 节课
已是第一张图了
已是最后一张图了
记笔记

导出笔记

笔记导出历史

00:00

0/12
确定保存
笔记导出历史导出完成的笔记将保留1天,如有需求请及时下载
课程名称
导出时间
文件大小
状态
操作
AI视频总结
AI正在分析视频,请稍等…
AI总结遇到了一些问题 点击重新获取
点击重新获取
成为全站通VIP 查看完整AI总结
复制

职业路径建议意见

请选择你对职业路径课程的满意程度

请选择你对职业路径课程的满意程度

请填写关于职业路径的建议意见:

同学,小虎知道你非常努力的想学习!

老师录制课程真的也很辛苦

赞助一下吧

确定学习吗?

您每天可免费学习一个教程。

成为VIP可无限学习 !

成为VIP吧!

成为VIP吧!

您已经免费学习 1 个教程 !

我们录制教程很努力的,赞助下吧 !

升级VIP吧!

您已经学习 5 个教程啦!

我们录制教程很努力的,赞助升级下吧 !

您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个素材文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计观看5个图文教程


您在当前分类下不是VIP,赞助VIP享受无限观看


学习后才能评价哦!

获得30虎课币

评论提交成功,将在审核通过后显示

×

下载素材/源文件:

收藏成功
取消成功
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了36,309
并提交了230份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证