2017-2018-1 20155316 《信息安全系统设计基础》第3周学习总结

教材学习内容总结

  • 信息的表示和处理

教材学习中的问题和解决过程

  • 问题1:教材中的数据类型size_t是什么意思?
  • 问题1解决方案:教材中对此的解释是“表示数据结构大小的首选数据类型”,对此并没有很深的理解,于是百度了一下,解释可归纳为:

一个基本的无符号整数的C / C + +类型, 它是sizeof操作符返回的结果类型, 该类型的大小可选择。因此,它可以存储在理论上是可能的任何类型的数组的最大大小。
--来自百度百科

  • 也就是说可以用size_t类型存储任意类型大小的数组

代码调试中的问题和解决过程

  • 问题1:教材P31中的代码中的一行typedef unsigned char *byte_pointer; 教材对此的解释为:“一种数据类型引用一个对象”,看半天没有太懂这个是什么意思,是指byte_pointer是一个数据类型,而一个数据类型可以引用另一个数据类型么?

  • 问题1解决方案:如果byte_pointer本身就是一个数据类型的话,即使不引用另一个数据类型也该是可以直接使用的,尝试去掉该行代码,编译后出现如下结果:

  • 编译显示没有byte_pointer这个数据类型

  • 正确结果应该是能编译出来:

  • 在百度中搜索了一下是否有byte_pointer这个数据类型,结果也显示并无,这说明byte_pointer不是初始设定的类型,最大的可能是这个是我们自己设定的。这让我回想起了typedef的两种用法,其中一种用法就是命名数据类型,阅读在教材后面部分,也提及了可以使用typedef来命名数据类型。

  • 问题2:继续问题1的代码,注意到用byte_pointer来命名的数据类型是unsigned char*,这说明代码中用该数据类型的数组都是unsigned char类型,那么用格式符%c输出元素又会如何呢?

  • 问题2解决方案:

  • 部分代码:

  • 修改部分:将%.2x修改成%c

  • 结果:

  • 无法显示,看来即使是用char类型存放也无法显示至屏幕,那为什么还要以char类型存储呢?

代码托管

  • 与第四周一起

上周考试错题总结

结对及互评

本周结对学习情况

- [20155308](博客链接)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:5小时

  • 实际学习时间:5小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2017-10-15 21:28  protectmonarch  阅读(131)  评论(2编辑  收藏  举报