結構可以以乙個單元儲存幾個不同型別的資料,結構還可以構成結構陣列。結構的概念也是物件導向概念的重要部分。
結構是使用者所定義的,結構的宣告定義了這種型別的資料屬性(各種資料型別,包括string)。
例
struct a
;//這裡的分號要記得加
宣告變數和訪問結構的成員
a toy;
cout<初始化
a toy=
//可以不用等號
;//逗號連線,分號結尾
若大括號中為空,則所有成員為0。
成員賦值,即將乙個結構賦值給另乙個結構,此時結構中的所有成員都將被賦給另一結構的相應成員。
可以同時定義結構和宣告結構變數,甚至同時初始化。
struct a
toy,pet;
struct b
toy=
;
還可以建立結構陣列。
可以指定占用特定位數的結構成員。每個這樣的成員都被稱為位欄位。冒號後的數字為占用位數。
struct a
;
共用體的句法和結構相似,但含義不同。結構可以同時儲存不同的資料型別,而共用體在同一時間只能儲存其中的一種。
union a
;a toy;
toy.x=50;
//儲存了乙個整型
toy.y=
20.28
;//這時儲存了乙個double型,但之前儲存的int已經丟失。
共用體每次只儲存乙個值,所以它的長度為其最大成員的長度。
共用體在成員不同時使用時,比結構更節省空間。
而更有用(個人感覺)的用法是
struct cd;
};
匿名共用體的成員位於相同位址,每次只有乙個成員是當前成員。 結構體與共用體的複習(2)
指向結構體變數的指標 乙個結構體變數的指標就是該變數所佔據的記憶體段的起始位址。可以設乙個指標變數,用來指向乙個結構體變數,此時該指標變數的值是結構體變數的起始位址。指標變數也可以用來指向結構體陣列中的元素。include include int main struct student stu 1 ...
結構體與共用體
1.定義乙個機構體的形式 struct 結構名 2.定義結構體變數 變數名表列 變數名表列 3.結構體成員的表示方法 結構變數名.成員名 例如 boy1.num 如果成員本身又是乙個結構則必須逐級找到最低階的成員才能使用。例如 boy1.birthday.month 4.結構體陣列 方法和結構變數相...
結構體與共用體
結構體的作用 在網路協議 通訊控制 嵌入式系統的c c 程式設計中,我們經常要傳送的不是簡單的位元組流 char型陣列 而是多種資料組合在一起的乙個整體。其表現形式是乙個結構體。簡單來說,結構體就是用來封裝資料的。結構體的定義 struct student struct student stu st...