20145206 《信息安全系统设计基础》第十二周学习总结

20145206 《信息安全系统设计基础》第十二周学习总结

本周学习目标

1、第九周代码检查
2、第十周代码检查
3、第十一周代码检查

博客链接

20145206 《信息安全系统设计基础》第九周学习总结
20145206 《信息安全系统设计基础》第十周学习总结
20145206 《信息安全系统设计基础》第十一周学习总结

视频学习内容总结

指针与声明

C语言中变量的声明包括两个部分:

类型
声明符

对于简单类型,声明并不会对代码产生多大的阅读障碍,而对于复杂类型的识别,可以采用右左右左法进行判断。

指针数组与数组指针

1、指针数组:即用于存储指针的数组,也就是数组元素都是指针
举例说明:
int *a[10]
表示:数组a中的元素都为int型指针
元素表示:a[i] (a[i])也是一样的,因为[]优先级高于*

2、数组指针:即指向数组的指针,指针指向一个类型和元素个数都固定的数组
举例说明:
int (*a)[10]
表示:指向数组a的指针
元素表示:(*a)[i]

3、指针函数:即返回值是指针类型的函数
举例说明:
int *comp()
4、函数指针:即指向函数的指针,函数名就是函数指针
举例说明:
int (*comp1)()

右左右左法

具体方法:

从变量名开始,先右再左地,交替地一个一个向外看,在纸上写下:“变量是”
若向右遇到左圆括号,在纸上写下:“函数,参数是”,并用同样的方法处理括号中每一个参数——在纸上写下:“返回”
若向右遇到方括号,在纸上写下:“数组,长度为{方括号的内容},元素类型为”
若向右遇到右圆括号,什么也不做
若向左遇到*,在纸上写下:“指针,指向”
若向左遇到任何类型,在纸上写下对应的类型名

举例说明:分析void *(*(*fp1)(int))[10]

从fp1开始——fp1是
向右,遇到右括号,什么也不做
向左,遇到*——指针,指向
向右,遇到左圆括号——函数,参数是int,返回
向左,遇到*——指针,指向
向右,遇到左方括号——数组,长度为10,元素类型为
向左,遇到*——指针,指向
向右,已经到声明结尾,什么也不做
向左,遇到void——void

结果是:fp1是 指针,指向 函数,参数是int,返回指针,指向数组,长度为10,元素类型为 指针,指向 void

信号处理

信号是Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会执行相应的操作。

信号的产生

由用户产生,如:Ctrl+C产生SIGINT信号等,可以通过stty -a查看哪些按键可以产生信号
由硬件产生,如:当前进程执行了除以0的指令
由进程发送,如:可在shell进程下,使用命令kill -信号标号 PID,向指定进程发送信号。
由内核产生,如:闹钟超时产生SIGALRM信号。

信号的处理

信号是由操作系统来处理的,说明信号的处理在内核态。信号不一定会立即被处理,此时会储存在信号的信号表中。
处理过程示意图:

877170-20161204110808709-231626258.png

信号的三种处理方式:

忽略
默认处理方式:操作系统设定的默认处理方式
自定义信号处理方式:可自定义信号处理函数

查看信号信息

1、命令kill -l

877170-20161204171812599-495903952.png

每个信号都有一个编号和一个宏定义名称,宏定义可以在signal.h中找到

2、命令man 7 signal

877170-20161204172021662-545741527.png

查看信号的产生条件、默认处理动作

代码托管

http://git.oschina.net/ZouJR/Linux

代码行数统计:

877170-20161203171342490-1932347418.png

本周托管的代码为这几次实验的代码。

总结

本周主要是复习前几周的代码,还进行了视频的学习,五次实验已经结束,对五次实验进行了总结复习,虽然本周没有课本上新的知识要学习,但是工作量也并不小,本周完成了三篇博客,除了本篇,还有第三周博客问题总结、第五周博客实践分析

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周0/01/220/30学习了一些Linux核心命令
第二周250/2501/320/50学习了vim编辑器基础
第三周280/5301/418/68熟练在vim里编程并运行
第五周300/8301/515/83学会生成汇编文件并查看
第六周200/10301/612/95了解Y86指令
第七周139/11691/710/105了解存储器层次结构
第八周0/11692/98/113复习前面所学内容
第九周182/13512/119/122了解Unix I/O
第十周502/18532/138/130对代码进行理解
第十一周1109/29623/1610/140对代码进行理解,学习第八章
第十二周258/29623/197/147对代码进行理解

转载于:https://www.cnblogs.com/ZouJR/p/6129141.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270384.shtml

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

相关文章

lambda创建线程

Testpublic void add() {//方式一Thread thread1 new Thread("ttt") {Overridepublic void run() {System.out.println("1");}};thread1.start();//方式二Runnable runnable new Runnable() {Overridepublic void run() {System.out.println("2&quo…

电脑技巧:F5称为万能键,看了才知道它的强大

目录 NO.1 浏览器刷新 NO.2 PPT快速放映 NO.3 Word快速定位 NO.4 Excel快速定位 NO.5 记事本录入当前时间 今天给大家介绍一个经常被大家忽视的但非常实用的快捷键F5具体有哪些用法。 ★万能快捷键★ F5 NO.1 浏览器刷新 刷新功能 F5最常用的就是网页刷新功能,相比这…

FileZilla搭建FTP服务器图解教程

在日常办公当中,经常会需要一个共享文件夹来存放一些大家共享的资料,为了保证文件数据的安全,最佳的方式是公司内部服务器搭建FTP服务器,然后分配多个用户给相应的人员。今天给大家分享FileZilla搭建FTP服务器图解教程&#xff0c…

运维:Windows 系统安全日志中登录类型介绍

目录 Windows 登录类型 登录类型2:交互式登录(Interactive) 登录类型3:网络(Network) 登录类型4:批处理(Batch) 登录类型5:服务(Service&#xff…

c语言灯塔案例求塔低数,C++:有一个8层灯塔,每层所点灯数都等于该层上一层的两倍,一共有765盏灯,求塔底的灯数...

满意答案0214zyt2013.05.23采纳率&#xff1a;51% 等级&#xff1a;12已帮助&#xff1a;6734人// Note:Your choice is C IDE#include #include using namespace std;int main(){//第一,穷举法int i,j;int n,s;for(i0;i<765;i)//穷举的范围可以进一步缩小&#xff0c;交…

电脑知识:电脑无法开机解决方案

电脑无法开机&#xff0c;首先不要紧张&#xff0c;你电脑里面的文件资料99.99%不会丢失&#xff0c;那有可能人问了&#xff0c;剩余0.001%是什么&#xff0c;只有一种可能&#xff0c;就是你的硬盘硬件彻底坏了。 今天小编讲的这几招都是对非常容易上手的电脑小白&#xff0c…

电脑技巧:键盘上最长的按键空格键使用技巧

目录 01、音视频播放器的暂停/播放切换 02、Alt空格键 03、Ctrl空格键 04、Shift空格键 05、游戏中按键 06、密码完美替代者 空格键是所有键盘中的按键最长一个&#xff0c;我们平常使用最多的按键就是在输入文字的时候按下空格键&#xff0c;其实除了空格&#xff0c;空格键还…

Hadoop HBase概念学习系列之HBase里的客户端和HBase集群建立连接(详细)(十四)...

需要遵循以下步骤&#xff1a; 1、客户端和Zookeeper集群建立连接。在这之前客户端需要获得一些信息&#xff08;可以从HBase配置文件中读取或是直接指定&#xff09;。客户端从Zookeeper集群中读取-ROOT-表的位置信息。这是客户端发起的第一次查询。 2、客户端连接-ROOT-表&am…

run()方法和start()方法测试解析

run()方法没有启动一个新的线程&#xff0c;通过如下代码可以看出&#xff0c;是main主线程执行的 start()方法启动了一个新线程&#xff0c;启动了线程&#xff0c;从如下代码看出t1线程执行了代码

操作系统:升级Windows 11正式版的四种方法

距离 Windows 11 预览版测试已经过去近四个半月。 终于&#xff0c;在 10 月 5 日&#xff0c;微软的 Windows 11 正式版操作系统全面上市。 Win11 的正式上线&#xff0c;打破了微软在 Win 10 刚发布之时曾表示 Win 10 将会是最后一代 Windows 的说法。 微软表示&#xff0c;…

线程NEW状态和RUNNABLE状态

新建一个线程的时候是NEW状态 启动线程后是RUNNABLE状态

电脑知识:Win10系统优化的7个设置技巧

今天小编给大家介绍一些Win10系统优化的7个设置技巧&#xff0c;希望对大家能有所帮助&#xff01;1、卸载Win10自带的软件Win10默认会自带很多的内置应用&#xff08;地图、游戏、画图3D、Groove音乐、Skye、Xbox&#xff09;&#xff0c;大部分大家都用不到&#xff0c;建议卸…

c语言已知加速度求位移速度,知道初速度知道加速度求位移的公式

知道初速度知道加速度求位移的公式以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;知道初速度知道加速度求位移的公式高一物理公式总结一、质点的运动(1)------直线运动1)匀变速直线运动1.平…

IllegalThreadStateException

IllegalThreadStateException

js日期显示效果

<!DOCTYPE html><html> <head> <meta charset"UTF-8"> <title></title> </head> <body> <div id"div1"> </div> <script type"text/javascript"> window.οnlοadfunction s…

操作系统:操作系统装进U盘的图解教程

使用U盘安装操作系统的相信大家都比较熟悉了&#xff0c;如果把操作系统安装在U盘中你尝试过吗&#xff1f;操作系统安装电脑的时候是写入硬盘当中&#xff0c;U盘属于移动硬盘&#xff0c;自然也在安装范围内&#xff0c;过去只是U盘空间小无法安装&#xff0c;现在随着科技发…

网络知识:WiFi越用越慢,到底是什么原因

WiFi越用越慢&#xff0c;到底是什么原因&#xff1f; 有人认为是WiFi盒子有问题&#xff0c;但其实和路由器的错误摆放也有关系。 今天&#xff0c;小编特地百度了一下&#xff0c;列出了几个路由器正确摆放的小常识&#xff0c;而且不用花一分钱&#xff0c;就可以测试出家中…

硬件知识:电脑组装机必备的知识梳理

今天小编给大家分享电脑组装机必备的知识&#xff0c;希望对大家能有所帮助&#xff01; 确实机箱内部的硬件连接中&#xff0c;大多数线材的插头和插孔都是独特的&#xff0c;比如主板的204pin&#xff0c;CPU的44pin都不能通用&#xff0c;多接口中方口和圆口的搭配也不会导致…

android 首页布局变换,Android XML布局与View之间的转换

Android的布局方式有两种&#xff0c;一种是通过xml布局&#xff0c;一种是通过java代码布局&#xff0c;两种布局方式各有各的好处&#xff0c;当然也可以相互混合使用。很多人都习惯用xml布局&#xff0c;那xml布局是如何转换成view的呢&#xff1f;本文从源码的角度来简单分…