C語言結構體與共用體02

2021-10-11 11:53:41 字數 1482 閱讀 3709

小甲魚結構體與共用體02

原始碼①:

原始碼②:做乙個簡單的通訊錄

//簡單的通訊錄 

原始碼③:

#include

struct stu

boy1 =

;void

main()

指向結構體型別資料的指標:

結構指標變數說明的一般形式:struct 結構體 *結構指標變數名

例如,在原始碼③中定義了stu這個結構,如要說明乙個指向stu的指標變數pstu,可寫為:struct stu *pstu;

當然也可在定義stu結構時同時說明pstu。與前面討論的各類指標變數相同,結構指標變數也必須要先賦值後才能使用。

賦值是把結構變數的首位址賦予該指標變數,不能把結構名賦予該指標變數。

struct stu

boy;

如果boy是被說明為stu型別的結構變數,則:

pstu = &boy是正確的。

pstu = &stu是錯誤的。為什麼呢?

因為,結構名和結構變數是兩個不同的概念,不能混淆。結構名只能表示乙個結構形式,編譯系統並不對它分配記憶體空間。

只有當某變數被說明為這種型別的結構時,才對該變數分配儲存空間。

因此上面&stu這種寫法是錯誤的,不可能去取乙個結構名的首位址。有了結構指標變數,就能方便地訪問結構變數的各個成員。

練習:寫乙個對候選人得票的統計程式。設有3個候選人,每次輸入乙個得票的候選人的名字,要求最後輸出各人得票結果。

結構體與共用體

1.定義乙個機構體的形式 struct 結構名 2.定義結構體變數 變數名表列 變數名表列 3.結構體成員的表示方法 結構變數名.成員名 例如 boy1.num 如果成員本身又是乙個結構則必須逐級找到最低階的成員才能使用。例如 boy1.birthday.month 4.結構體陣列 方法和結構變數相...

結構體與共用體

結構體的作用 在網路協議 通訊控制 嵌入式系統的c c 程式設計中,我們經常要傳送的不是簡單的位元組流 char型陣列 而是多種資料組合在一起的乙個整體。其表現形式是乙個結構體。簡單來說,結構體就是用來封裝資料的。結構體的定義 struct student struct student stu st...

結構體與共用體

結構體和共用體 聯合體 是自定義的資料型別,常用於處理非數值型資料,使用如 鍊錶 佇列 樹等。1.結構體定義 結構體是用其他型別構造出來的資料型別。結構體型別如下 struct student 定義乙個結構體變數如下 struct student stu1 stu1.age 32 stu1.name...