天天看點

struct 結構體解析(原)

(一)基本概念

    結構體是一個或是多個變量的集合,這些變量可能為不同的類型,為了處理的友善而将這些變量組合在一個名字之下。我們将關鍵字struct引入了結構聲明中。結構聲明包含在花括号内的一系列聲明組成。例如:

(二)使用方法

1. 初始化方法

    (1) 結構體變量的初始化方式分别給結構體的成員變量以初始值.

具體的形式如下:

對于結構體内還有結構體的形式,可以用以下的方式來解決:

2. 結構體與指針

    結構與指針其實密不可分,在函數的傳回和調用中,我們不能用複制整個結構體的方式,因為這樣的效率實在是太低了。誰都不希望将一個大象抗在身上,然後到處跑!

struct 結構體解析(原)

    這個時候,指針出現了。就像救世主出現在人間,趕走了大象,留下了羽毛。

以下是實作形式:

3. 結構體與數組,連結清單

   如果說當個結構體個體隻是一塊闆磚的話,那麼與數組結合,就是一堆闆磚啊!

struct 結構體解析(原)

我們常使用數組來儲存一些東西,這些東東看重的數組的線性結構。當然,如果結構體内部有結構體指針,那麼我們可以來組連結清單。線性結構的關鍵在于查找時的時間損耗,O(1)是許多人追求的夢想。而連結清單的容量巨大,隻要你記憶體夠大,它就能讓你欲罷不能

struct 結構體解析(原)

!魚和熊掌不能兼得,O(n)時間的損耗是你要權衡的。

以下是數組

struct 結構體解析(原)

實作形式:

以下是連結清單

struct 結構體解析(原)

的形式:

4. 結構體與typedef

    typedef用來建立新的資料類型名。以下用代碼來解釋:

    其實,typedef沒有建立新的類型。隻是增加了一個新的名詞而已。這樣做的好處有倆

struct 結構體解析(原)

:首先呢,程式參數化,提高移植性。其次,就是好改啦,改一個地方就可以影響所有的地方了。

參考文獻

1.《C++ primer》和《C語言程式設計》

2. 參閱了網上許多小道的内容,這個記不得了。。抱歉抱歉!!

struct 結構體解析(原)

繼續閱讀