山農某Freshman的試水 結構

2021-10-03 05:45:47 字數 1927 閱讀 7390

struct  識別符號//自行確定,相當於變數名

;//最後的這個分號一定不能落下

例如:

struct  employee  

;

下面是對結構體更為官方的解釋

結構是由不同資料型別的資料組成的集合體。

結構由數目固定的成員構成

各成員可以具有不同的資料型別

乙個結構變數在記憶體占有一片連續的儲存空間

值得一提的是最後一條關於結構體的儲存

就如陣列一樣,定義乙個陣列a[10],只要a[0]確定了位址,這個陣列後面的a[1]到a[9]會緊跟著a[0]。也就是說識別符號的位址確定了後,其後面的每乙個成員的位址都會緊隨其後。

在定義乙個結構變數的時候,可以宣告型別之後宣告變數:

struct  employee  

;employee worker1, worker2,

*emp ;

也可以宣告型別的同時宣告變數

struct  employee  

worker1, worker2,

*emp ;

這樣下來worker1,worker2就都是兩個employee型別的變數了,*emp是employee型別的指標變數。另外,在說明結構變數的同時可以進行初始化,例如:

employee worker=

;

在訪問和賦值的時候,結構體也只能單獨訪問和賦值,訪問結構變數成員使用的是圓點運算子:結構變數名.成員

例如:

#include

using

namespace std;

struct weather // 宣告結構型別,寫在主函式之前

;int main (

)

也可以用指標訪問結構變數的成員 :

結構指標 -> 成員

(*結構指標 ) . 成員

# include

# include

using

namespace std ;

struct person

;int main (

)

結構體陣列應用舉例:

對候選人得票的統計程式。

設有3個候選人,最終只能有1人當選。今有10個人參加投票,從鍵盤先後輸入這10個人所投的候選人的名字,要求最後輸出這3個候選人的得票結果。

#include

struct person//宣告結構體型別person

;int

main()

;//定義person型別的陣列,內容為3個候選人的姓名和當前的得票數

int i,j;

char leader_name[20]

;//leader_name為投票人所選的人的姓名

for(i=

0;i<

10;i++

) cout

0;i<

3;i++

)//輸出3個候選人的姓名與最後得票數

return0;

}

在使用結構體的時候有一點值得注意:

乙個結構型別的成員可以是另乙個已定義的結構型別

例如:為職工結構新增出生日期資訊型別和變數宣告為:

struct

**date**;

struct employee

worker1, worker2 ;

但是結構函式不能自己實現無窮的遞迴結構,也就是說在結構體內部包含乙個型別為該結構的成員這是非法的

struct  person

worker1, worker2 ;

某山面試 3 實現如下函式

3 實現如下函式 void printinchinese int num 這個函式輸入乙個小於100000000 一億 的正整數,並在螢幕上列印這個數字的中文寫法。例如 17 一十七 120 一百二十 201 二百零一 1074 一千零七十四 65536 六萬五千五百三十六 1010101 一百零一...

粉象生活助農顯成效 山灣柑橘成爆款

今年是決戰決勝脫貧攻堅之年,農村地區的發展事關脫貧全域性戰略,而農村產業興旺事關農民收入和鄉村振興的大局。每年收穫季節農產品銷售難的主要問題還是卡在流通不暢,而utulohpa這導致農民的損失有時候可達30 甚至達到50 以上。因此,如何改善產品流通則是鄉村產業興旺的重中之重。近年來,隨著網際網路社...