聯合也是一種新的資料類型, 它是一種特殊形式的變數。
聯合表示幾個變數公用一個記憶體位置, 在不同的時間儲存不同的資料類型
在聯合變數lgc中, 整型量i和字元mm公用同一記憶體位置。
當一個聯合被說明時, 編譯器自動地產生一個變數, 其長度為聯合中最大的變數長度
聯合訪問其成員的方法與結構相同。同樣聯合變數也可以定義成數組或指標,但定義為指標時, 也要用"->"符號, 此時聯合訪問成員可表示成:另外, 聯合既可以出現在結構內, 它的成員也可以是結構。
函數模版的執行個體化是由編譯器實現的。
一個類的定義中,如果有個函數的模版,那麼這個類是模版類。類模板的成員函數都是函數模板,類模板執行個體化後,成員函數也隨之執行個體化
關於鏈表的知識
鏈表(Linked list)是一種常見的基礎資料結構,是一種線性表,但是並不會按線性順序儲存資料,而是在每一個節點裡存到下一個節點的指標(Pointer)。由於不必須按順序儲存,鏈表在插入的時候可以達到O(1)的複雜度,比另一種線性表:順序錶快得多,但是尋找一個節點或者訪問特定編號的節點則需要O(n)的時間,而順序表相應的時間複雜度分別是O(logn)和O(1)。使用鏈表結構可以克服數組鏈表需要預Crowdsourced Security Testing道資料大小的缺點,鏈表結構可以充分利用電腦記憶體空間,實現靈活的記憶體動態管理。但是鏈表失去了數組隨機讀取的優點,同時鏈表由於增加了結點的指標域,空間開銷比較大。在電腦科學中,鏈表作為一種基礎的資料結構可以用來產生其它類型的資料結構。鏈表通常由一連串節點群組成,每個節點包含任意的執行個體資料(data fields)和一或兩個用來指向明上一個/或下一個節點的位置的連結("links")。鏈表最明顯的好處就是,常規數組排列關聯項目的方式可能不同於這些資料項目在記憶體或磁碟上順序,資料的存取往往要在不同的排列順序中轉換。而鏈表是一種自我指示資料類型,因為它包含指向另一個相同類型的資料的指標(連結)。鏈表允許插入和移除表上任意位置上的節點,[1]但是不允許隨機存取。鏈表有很多種不同的類型:單向鏈表,雙向鏈表以及迴圈鏈表。
設有定義 int a[10] , *p=a下列對數組元素a[1]的引用中,錯誤的是*(++a)
設有定義 int a[10] , *p=a下列對數組元素a[1]的引用中,錯誤的是*(++a)
對於數組來說.數組的名字用反組譯碼的語言來說,數組的名字只是一個標誌,對數組的名字操作肯定是錯誤的.
a是數組第一個元素的地址,是靜態,不能改變的
a++執行完了後會改變a的值。。必然是不行的。。
指標變數可以改變.對於 a來說,它是一個 int const *p