天天看點

20145307《資訊安全系統設計基礎》第12周學習總結

20145307《資訊安全系統設計基礎》第12周學習總結

教材學習内容總結

http://www.cnblogs.com/Jclemo/p/6060075.html

http://www.cnblogs.com/Jclemo/p/6083885.html

http://www.cnblogs.com/Jclemo/p/6107317.html

視訊學習總結

指針與聲明C語言中變量的聲明包括兩個部分:類型,聲明符

對于簡單類型,聲明并不會對代碼産生多大的閱讀障礙,而對于複雜類型的識别,可以采用右左右左法進行判斷。

指針數組與數組指針指針數組:即用于存儲指針的數組,也就是數組元素都是指針

舉例說明:int a[8]表示:數組a中的元素都為int型指針 元素表示:a[i],(a[i])也是一樣的,因為[]優先級高于

數組指針:即指向數組的指針,指針指向一個類型和元素個數都固定的數組

舉例說明:int (a)[8]表示:指向數組a的指針 元素表示:(a)[i]

指針函數:即傳回值是指針類型的函數

舉例說明:int *comp()

函數指針:即指向函數的指針,函數名就是函數指針

舉例說明:int (*comp1)()

右左右左法

具體方法:從變量名開始,先右再左地,交替地一個一個向外看,在紙上寫下:“變量是”

若向右遇到左圓括号,在紙上寫下:“函數,參數是”,并用同樣的方法處理括号中每一個參數——在紙上寫下:“傳回”

若向右遇到方括号,在紙上寫下:“數組,長度為{方括号的内容},元素類型為”

若向右遇到右圓括号,什麼也不做

若向左遇到*,在紙上寫下:“指針,指向”

若向左遇到任何類型,在紙上寫下對應的類型名信号處理信号是Linux系統響應某些條件而産生的一個事件,接收到該信号的程序會執行相應的操作。

信号的産生由使用者産生,如:Ctrl+C産生SIGINT信号等,可以通過stty -a檢視哪些按鍵可以産生信号

由硬體産生,如:目前程序執行了除以0的指令

由程序發送,如:可在shell程序下,使用指令 kill -信号标号 PID,向指定程序發送信号。

由核心産生,如:鬧鐘逾時産生SIGALRM信号。

signal與sigaction``signal的問題:

不知道信号被發送的原因

信号處理過程中不能安全地阻塞其他信号sigaction:

在信号處理程式被調用時,系統建立的新信号屏蔽字會自動包括正被遞送的信号。是以保證了在處理一個給定的信号時,如果這種信号再次發生,那麼它會被阻塞到對前一個信号的處理結束為止

響應函數設定後就一直有效,不會重置信号的處理信号是由作業系統來處理的,說明信号的處理在核心态。信号不一定會立即被處理,此時會儲存在信号的信号表中。