• 20144303《信息安全系统设计基础》第12周学习总结


    20144303《信息安全系统设计基础》第12周学习总结

    教材学习内容总结

    本周主要复习了前三周的学习内容,对之前老师发的代码以及实验中用到的代码进行了仔细地分析、学习

    前三周学习总结链接:

    第九周:http://www.cnblogs.com/20144303sys/p/6059849.html#3560005

    第十周:http://www.cnblogs.com/20144303sys/p/6081667.html#3563088

    第十一周:http://www.cnblogs.com/20144303sys/p/6107107.html

    视频学习内容总结

    一、指针数组与数组指针:

    1、指针数组:即用于存储指针的数组,也就是数组元素都是指针

    • 形式如:int *p[n]
    • 表示定义有n个指针分别为:p[0]、p[1]、...、p[n-1]

    2、数组指针:即指向数组的指针,指针指向一个类型和元素个数都固定的数组

    • 形式如:int (*p)[n]
    • 表示定义一个指向一个数组的指针p

    二、指针函数与函数指针:

    1、指针函数:即返回值是指针类型的函数

    • 形式如:void *comp()
    • 表示comp为有关指针的一个函数

    2、函数指针:即指向函数的指针,函数名就是函数指针

    • 形式如:void (*comp)()
    • 表示comp为一个指向函数的指针

    三、区别方法——右左右左法:

    具体方法:

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

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

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

    四、信号处理:

    信号:是UNIX中所使用的进程通信的一种最古老的方法;是在软件层次上对中断机制的一种模拟,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一样的。

    • 使用kill -l来查看有关信号的信息
    • 使用stty -a来查看快捷键的用法
    • SIG_IGN是忽略信号的处理程序,表示无返回值的函数指针,指针值为1
    • SIG_DFL是默认信号的处理程序,表示无返回值的函数指针,指针值为0

    五、信号的产生:

    • 用户产生:比如通过键盘输入
    • 硬件产生
    • 进程发送
    • 内核产生:比如设定的闹钟,超时会产生SIGALRM信号

    六、信号处理函数:

    • signal:不知道信号被发送的原因;信号处理过程中不能安全地阻塞其他信号。
    • sigaction:在信号处理程序被调用时,系统建立的新信号屏蔽字会自动包括正被递送的信号;保证了在处理一个给定的信号时,若这种信号再次发生,那么它会被阻塞到对前一个信号的处理结束为止
    • 响应函数设置后便会一直有效,不会重置。

    心得体会

    这周主要复习了之前学习的内容,在复习的过程中,发现了很多自己之前学习时没有发现的问题。这暴露了我在学习的时候还是存在一些问题,学习不够认真仔细。通过这周的复习巩固,加深了对知识的理解认识,也起到了查缺补漏的作用。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 0/0 1/1 20/20
    第二周 300/300 1/2 20/40
    第三周 300/600 1/3 20/60
    第五周 200/800 2/5 20/80
    第六周 100/900 2/7 20/80
    第七周 160/1060 1/8 20/100
    第八周 0/1060 2/9 20/120
    第九周 300/1360 2/11 20/140
    第十周 495/1855 2/13 20/160
    第十一周 495/1855 2/15 20/180
    第十二周 0/1855 4/19 20/200
  • 相关阅读:
    CF1284G
    5-3 Harbor高可用部署 下
    5业务系统迁移kubernetes-----准备工作(平稳迁移做好准备)
    题解-CF1453F Even Harder
    题解-CF961F k-substrings
    Docker 数据卷容器(实现两个或多个容器间数据同步)
    Docker 具名和匿名挂载
    Java-IO中的节点流和处理流
    《机器学习十讲》学习报告二
    rpc基本思路
  • 原文地址:https://www.cnblogs.com/20144303sys/p/6132037.html
Copyright © 2020-2023  润新知