freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

譚浩強c語言word版11-在線瀏覽

2024-11-07 18:25本頁面
  

【正文】 har name[20]。 struct date birthday。 }boy1,boy2。 在定義并說明變量 boy1 和 boy2 時,其中的成員 birthday被說明為 data結(jié)構(gòu)類型。 結(jié)構(gòu)變量成員的表示方法 在程序中使用結(jié)構(gòu)變量時,往往不把它作為一個整體來使用。 表 示結(jié)構(gòu)變量成員的一般形式是: 結(jié)構(gòu)變量名 .成員名 例如: 即第一個人的學(xué)號 即第二個人的性別 如果成員本身又是一個結(jié)構(gòu)則必須逐級找到最低級的成員才能使用。 結(jié)構(gòu)變量的賦值 結(jié)構(gòu)變量的賦值就是給各成員賦值。 【例 】給結(jié)構(gòu)變量賦值并輸出其值。 char *name。 float score。 =102。 printf(input sex and score\n)。,amp。 boy2=boy1。 printf(Sex=%c\nScore=%f\n,)。用 scanf函數(shù)動態(tài)地輸入 sex和 score成員值,然后把 boy1 的所有成員的值整體賦予 boy2。本例表示了結(jié)構(gòu)變量的賦值、輸入和輸出的方法。 【例 】對結(jié)構(gòu)變量初始化。 char *name。 float score。M39。 boy2=boy1。 printf(Sex=%c\nScore=%f\n,)。在 main 函數(shù)中,把 boy1的值整體賦予 boy2,然后用兩個 printf語句輸出 boy2各成員的值。因此可以構(gòu)成結(jié)構(gòu)型數(shù)組。在實際應(yīng)用中,經(jīng)常用結(jié)構(gòu)數(shù)組來表示具有相同數(shù)據(jù)結(jié)構(gòu)的一個群體。 方法和結(jié)構(gòu)變量相似,只需說明它為數(shù)組類型即可。 char *name。 float score。 定義了一個結(jié)構(gòu)數(shù)組 boy,共有 5個元素, boy[0]~ boy[4]。對結(jié)構(gòu)數(shù)組可以作初始化賦值。 char *name。 float score。 } 當(dāng)對全部元素作初始化賦值時,也可不給出數(shù)組長度。 struct stu { int num。 char sex。 }boy[5]={ {101,Li ping,39。,45}, {102,Zhang ping,39。,}, {103,He fang,39。,}, {104,Cheng ling,39。,87}, {105,Wang ming,39。,58}, }。 float ave,s=0。i5。 if(boy[i].score60) c+=1。 ave=s/5。 } 本例程序中定義了一個外部結(jié)構(gòu)數(shù)組 boy,共 5個元素,并作了初始化賦值。 【例 】建立同學(xué)通訊錄 include define NUM 3 struct mem { char name[20]。 }。 int i。iNUM。 gets(man[i].name)。 gets(man[i].phone)。 for(i=0。i++) printf(%s\t\t\t%s\n,man[i].name,man[i].phone)。在主函數(shù)中定義 man為具有 mem 類型的結(jié)構(gòu)數(shù)組。然后又在 for語句中用 printf語句輸出各元素中兩個成員值。結(jié)構(gòu)指針變量中的值是所指向的結(jié)構(gòu)變量的首地址。 結(jié)構(gòu)指針變量說明的一般形式為 : struct 結(jié)構(gòu)名 *結(jié)構(gòu)指針變量名 例如,在前面的例題中定義了 stu這個結(jié)構(gòu),如要說明一個指向 stu的指針變量 pstu,可寫為: struct stu *pstu。與前面討論的各類指針變量相同,結(jié)構(gòu)指針變量也必須要先賦值后才能使用。如果 boy是被說明為 stu類型的結(jié)構(gòu)變量,則: pstu=amp。stu 是錯誤的。結(jié)構(gòu)名只能表示一個結(jié)構(gòu)形式,編譯系統(tǒng)并不對它分配內(nèi)存空間。因此上面 amp。有了結(jié)構(gòu)指針變量,就能更方便地訪問結(jié)構(gòu)變量的各個成員。如去掉括號寫作 * *(),這樣,意義就完全不對了。 【例 】 struct stu { int num。 char sex。 } boy1={102,Zhang ping,39。,},*pstu。boy1。 printf(Sex=%c\nScore=%f\n\n,)。 printf(Sex=%c\nScore=%f\n\n,(*pstu).sex,(*pstu).score)。 printf(Sex=%c\nScore=%f\n\n,pstusex,pstuscore)。在 main函數(shù)中, pstu被賦予 boy1的地址,因此 pstu 指向 boy1。從運行結(jié)果可以看出: 結(jié)構(gòu)變量 .成員名 (*結(jié)構(gòu)指針變量 ).成員名 結(jié)構(gòu)指針變量 成員名 這三種用于表示結(jié)構(gòu)成員的形式是完全等效的。結(jié)構(gòu)指針變 量也可指向結(jié)構(gòu)數(shù)組的一個元素,這時結(jié)構(gòu)指針變量的值是該結(jié)構(gòu)數(shù)組元素的首地址。這與普通數(shù)組的情況是一致的。 struct stu { int num。 char sex。 }boy[5]={ {101,Zhou ping,39。,45}, {102,Zhang ping,39。,}, {103,Liou fang,39。,}, {104,Cheng ling,39。,87}, {105,Wang ming,39。,58}, }。 printf(No\tName\t\t\tSex\tScore\t\n)。psboy+5。 } 在程序中,定義了 stu結(jié)構(gòu)類型的外部數(shù)組 boy并作了初始化賦值。在循環(huán)語句 for的表達(dá)式 1中, ps被賦予 boy的首地址,然后循環(huán) 5次,輸出 boy數(shù)組中各成員值。也就是說不允許取一個成員的地址來賦予它。 ps=amp。 而只能是: ps=boy。boy[0]。但是這種傳送要將全部成員逐個傳送,特別是成員為數(shù)組時將會使傳送的時間和空間開銷很大,嚴(yán)重地降低了程序的效率。這時由實參傳向形參的只是地址,從而減少了時間和空間的開銷。用結(jié)構(gòu)指針變量作函數(shù)參數(shù)編程。 char *name。 float score。M39。M39。F39。F39。M39。 main() { struct stu *ps。 ps=boy。 } void ave(struct stu *ps) { int c=0,i。 for(i=0。i++,ps++) { s+=psscore。 } printf(s=%f\n,s)。 printf(average=%f\ncount=%d\n,ave,c)。 boy 被定義為
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1