結構體總結

2021-09-18 05:17:52 字數 733 閱讀 6440

1.結構體和陣列的區別和聯絡:

陣列:相同型別元素的集合;

結構體:也是一些值的集合(稱為成員變數),每個成員可以是相同或不同的變數。

2.結構體成員:

可以是標量,陣列,指標,還可以是結構體。

這裡補充一下,陣列的元素可以是陣列,就像二維陣列的元素可以看成一維陣列,任何陣列都可以看成是由一維陣列構成。

3.結構體成員的訪問:

1) 結構體訪問成員項用點操作符。結構體名.成員項

2) 結構體指標通過指向運算子訪問結構體成員項。(p->next)

4.結構體傳參:

分為結構體傳參和結構體位址傳參(應首選結構體位址傳參)

原因:函式傳參的時候,引數是需要壓棧的。如果傳遞乙個結構體物件的時候,結構體過大,引數壓棧的系統開銷比較大,所以會導致效能的下降。所以結構體傳參的時候,要傳結構體的位址。

注意:結構體傳參的時候不會發生降維,這一點要區別於陣列。

下面是關於結構體傳參的一段**:

#define _crt_secure_no_warnings 1

#include#includestruct s

; struct s s = , 1000 };

void print1(struct s s)//結構體傳參

void print2(struct s* ps)//結構體位址傳參

int main()

結構體總結

結構體總結 共用體 聯合體 1.乙個結構變數的所佔記憶體空間大小,一般大於或者等於結構中所有成員變數大小之和,成員變數在結構體記憶體空間按照定義的順序依次儲存。2.共用體是將幾種不同型別的變數存放在同一段記憶體單元中。3.語法形式 union 共用體名共用體變數名 4.共用體與結構體的定義形式相似,...

結構體總結

1.結構體的定義 結構體是一些值得集合,這些值稱為成員變數,結構體的每個成員可以是不同型別的變數。2.結構體的宣告 結構體的名稱盡量做到容易理解,結構體的名稱可以省略但是不建議省略 在結構體裡可以放任何合法的內容,結構體內容 member 不能為空,這是在c語言中的要求 結構體變數 variable...

C C 結構體總結

1 include iostream 2 using namespace std 3 4 struct teststruct5 11 巢狀的結構體型別成員 12struct date 13 18struct person 定義結構體 19 24 結構體中的指標成員 25struct student ...