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.pswp.cn/news/270384.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270384.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270384.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux數據同步技術比較,linux下實現web數據同步的四種方式(性能比較)教程.docx

linux下實現web數據同步的四種方式(性能比較)教程實現web數據同步的四種方式1、nfs實現web數據共享2、rsync inotify實現web數據同步3、rsyncsersync更快更節約資源實現web數據同步4、unisoninotify實現web數據雙向同步一、nfs實現web數據共享?nfs能實現數據同步是通過NAS(網絡…

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最常用的就是網頁刷新功能,相比這…

學號20145220《信息安全系統設計基礎》第12周學習總結

學號20145220《信息安全系統設計基礎》第12周學習總結 教材學習內容總結 學號20145220《信息安全系統設計基礎》第11周學習總結 - 20145220韓旭飛 - 博客園 http://www.cnblogs.com/hxf5220/p/6107112.html 學號20145220《信息安全系統設計基礎》第10周學習總結 - 20145220韓旭…

linux 本地yum 恢復,Linux_RHEL系統恢復安裝光盤中的yum更新源的方法,安裝光盤本地YUM更新源掛載安 - phpStudy...

RHEL系統恢復安裝光盤中的yum更新源的方法安裝光盤本地YUM更新源掛載安裝光盤:復制代碼代碼如下:mount /dev/cdrom /mntvi /etc/yum.repos.d/local.repo修改本地更新源文件,添加內容:復制代碼代碼如下:[HightAvailability]nameHightAvailabil…

FileZilla搭建FTP服務器圖解教程

在日常辦公當中,經常會需要一個共享文件夾來存放一些大家共享的資料,為了保證文件數據的安全,最佳的方式是公司內部服務器搭建FTP服務器,然后分配多個用戶給相應的人員。今天給大家分享FileZilla搭建FTP服務器圖解教程&#xff0c…

linux kafka離線安裝,centos 離線安裝confluent_kafka 模塊

centos 離線安裝confluent_kafka 模塊背景:需要安裝Python模塊的機子不能上網,只能下載源碼進行安裝說明:如果可以上網直接pip install confluent_kafka 即可需安裝模塊:confluent_kafka #confluent_kafka 依賴librdkafka 模塊&am…

運維:Windows 系統安全日志中登錄類型介紹

目錄 Windows 登錄類型 登錄類型2:交互式登錄(Interactive) 登錄類型3:網絡(Network) 登錄類型4:批處理(Batch) 登錄類型5:服務(Service&#xff…

webdriver鼠標上下滑動

有時候我們需要對窗口顯示的頁面上下滑動,以顯示當前正在處理的位置,這就需要用到webdriver模擬鼠標上下滑動 package test20161201;import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.…

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;空格鍵還…

c語言從入門到精通ppt,C語言從入門到精通第1章.ppt

C語言從入門到精通第1章1.2.2 認識Turbo C 2.0 1.2.2 認識Turbo C 2.0 ⑴ 菜單欄&#xff1a;包括【File】(文件)菜單、【Edit】(編輯)菜單、【Run】(運行)菜單、【Compile】(編譯)菜單、【Project】(項目)菜單、【Options】(選擇)菜單、【Debug】(調試)菜單和【Break/watch】(…

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;…

c語言不循環鏈表,無頭單向不循環鏈表相關接口實現(C語言)

單鏈表相關接口介紹List.h#define _CRT_SECURE_NO_WARNINGS#ifndef __LIST_H__#define __LIST_H__#include#include#include#includetypedef int SLTDataType;typedef struct SListNode{SLTDataType _data;struct SListNode* _next;}SListNode;typedef struct SList{SListNode*…

hashmap中的hash擾動函數

https://www.zhihu.com/question/20733617轉載于:https://www.cnblogs.com/lushilin/p/6142597.html

線程NEW狀態和RUNNABLE狀態

新建一個線程的時候是NEW狀態 啟動線程后是RUNNABLE狀態