在結構體中的聯合體的使用問題 C C語言11 4

2021-10-01 09:57:42 字數 823 閱讀 5358

設有若干個人員的資料,其中包含學生和教師。學生的資料中包括:號碼、姓名、性別、職業、班級。教師的資料報括:號碼、姓名、性別、職業、職務。可以看出,學生和教師所包含的資料是不同的。現在要求把這些資料放在同乙個**中儲存,使用結構體中的共用體實現。結構體定義如下:

struct category;

};在以上的結構體中,如果job項為s(學生),則第5項為class(班級);如果job項是t(教師),則第5項為position(職務)。

輸入幾個人員的資料,將其儲存在以上包含共用體的結構體陣列中,並輸出。

輸入第一行有乙個整數n,表示以下n行分別表示n個人員的資料。保證n不超過100。

之後的n行,每行有5項用空格隔開的內容。前4項分別為人員的號碼(整數)、姓名(長度不超過9的無空格字串)、性別(字元,m或f)和職業(字元,s或t)。如果第4項是s,則第5項為乙個整數,表示班級;如果第4項是t,則第5項為乙個長度不超過9的無空格字串,表示職務。

輸出共有n行,與輸入格式相同,輸出讀入的所有內容。

請注意行尾輸出換行。

樣例輸入

2101 li f s 501

102 wang m t prof

樣例輸出

101 li f s 501

102 wang m t prof

#include

#include

typedef

struct peocategory;

}peo;

intmain()

for(

int i=

0;i)return0;

}

C 結構體 聯合體

結構體是特殊形態的類,與類的區別 結構體的預設訪問許可權是public,也就是說當你建立資料成員的時候,預設是屬於public類,存在的主要原因 與c語言保持相容。結構體 struct 學生資訊 include include include using namespace std struct s...

聯合體 位域結構體 聯合體的妙用

在c語言中,變數的定義是分配儲存空間的過程。一般的,每個變數都具有其獨有的儲存空間,那麼可不可以在同乙個記憶體空間中儲存不同的資料型別 不是同事儲存 呢?答案是可以的,使用聯合體就可以達到這樣的目的。聯合體也叫共用體,在c語言中定義聯合體的關鍵字是union。定義乙個聯合型別的一般形式為 union...

C 結構體和聯合體

結構體資料對齊問題 使用union定義的是聯合體 利用union可以用相同的儲存空間儲存不同型別的資料型別,從而節省記憶體空間。當訪問其內成員時可用 和 來直接訪問。當多個資料需要共享記憶體或者多個資料每次只取其一時,可以利用聯合體 union 在c programming language 一書中...