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

正文內(nèi)容

[理學(xué)]第11章結(jié)構(gòu)體與共用體(編輯修改稿)

2024-11-12 21:20 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 p).count) } 錯(cuò)誤的原因: p不是結(jié)構(gòu)指針變量 可改為: struct person *p 例 二、指向結(jié)構(gòu)體數(shù)組的指針 與指向數(shù)組的指針一樣,可用指針指向結(jié)構(gòu)體數(shù)組。 struct student { int num。 char name[20]。 char sex。 int age。 }。 main ( ) { struct student stu[3]={{10101, Li Lin , 39。M39。, ?}, {…}, {…}}。 struct student ?p。 p=stu。 while (pstu+3) printf(… , p ?num, p ?name, p ?sex, p ?age)。 } 例 內(nèi)存結(jié)構(gòu)如下: 注: p+1為指向下一個(gè)元素的首地址。 stu[0] p+1 p+2 ? p stu[1] stu[2] 用地址傳送,函數(shù)中形參用指針變量,實(shí)參可用 地址量或指針 三、用指向結(jié)構(gòu)體的指針作函數(shù)參數(shù) struct person { char name[20]。 int count。 } x[3]={{“zhao”, 4}, {“qian”, 3}, {“sun”, 6}}。 void prt(struct person *pp)。 main( ) { int i。 for (i=0。 i3。 i++) prt(amp。x[i])。 } void prt (struct person *pp) { printf(%s, %d, ppname, ppcount)。 } 運(yùn)行結(jié)果: zhao, 4 qian, 3 sun, 6 167。 鏈表 1. 什么是鏈表? ? 解決了內(nèi)存分配零亂的問(wèn)題 ? 解決了數(shù)組存放數(shù)據(jù)的弊端 是用指針變量將非連續(xù)的數(shù)據(jù)塊連成一 個(gè)整體的一種數(shù)據(jù)結(jié)構(gòu)。 一種動(dòng)態(tài)分配的數(shù)據(jù)結(jié)構(gòu)。 例如: Head Head: 稱為表頭,僅存放一個(gè)地址,無(wú)數(shù)據(jù)。 數(shù)據(jù) D Null 數(shù)據(jù) C 數(shù)據(jù) B 數(shù)據(jù) A 數(shù)據(jù) 指針 : 為數(shù)據(jù)塊,又稱為鏈表的結(jié)點(diǎn),由兩部分 組成,數(shù)據(jù)和指針。 數(shù)據(jù) :該結(jié)點(diǎn)的具體數(shù)據(jù) 指針 :下一個(gè)結(jié)點(diǎn)的地址 實(shí)現(xiàn)方法: 2. 用指向該種類型的結(jié)構(gòu)指針作為表頭; 3. 每一個(gè)結(jié)點(diǎn)中包含同種類型的指針變量用以存放下一個(gè)結(jié)點(diǎn)的地址。 1. 用結(jié)構(gòu)型變量表示每一個(gè)結(jié)點(diǎn); 內(nèi)存分配函數(shù),在動(dòng)態(tài)區(qū)中分配一個(gè)長(zhǎng)度為 size的連續(xù)空間,分配成功,返回一個(gè)指向該空間首地址的指針,未成功,返回值= 0. 實(shí)現(xiàn)過(guò)程中用到的三個(gè)函數(shù) (由系統(tǒng)提供 ) malloc(size) ptr為指針變量,該函數(shù)釋放最近一次調(diào)用 malloc或 calloc分配且由 ptr指向的內(nèi)存空間。 原 C標(biāo)準(zhǔn): malloc返回一個(gè)指向 char型數(shù)據(jù)的指針。 新的 C標(biāo)準(zhǔn):為 void ?類型,可通過(guò)強(qiáng)制類型轉(zhuǎn)換。 free(ptr) struct student { long num。 float score。 struct student ?next。 }。 同時(shí)定義三個(gè)指向這種類型的指針變量 head, p1, p2. 2. 建立鏈表 例 : 寫一個(gè)函數(shù),建立 5名學(xué)生數(shù)據(jù)的單向鏈表,每一個(gè)學(xué)生的數(shù)據(jù)塊 (結(jié)點(diǎn) )定義如下: 一開始 head?null p1: 新分配的結(jié)點(diǎn)地址 p2: 已分配的最后一個(gè)結(jié)點(diǎn)地址 約定:當(dāng)輸入學(xué)號(hào) =0時(shí),結(jié)束,返回表頭 define NULL 0 define LEN sizeof(struct student) struct student { long num。 float score。 struet student ?next。 }。 int n。 struct student ?creat( ) { struct student ?head, ?p1, ?p2。 n=0。 head=NULL。 p1=(struct student ?) malloc(LEN)。 scanf(%d, %f, amp。p1?num, amp。p1?score)。 while (p1?num!=0) { n++。 if(n==1) head=p1。 else p2?next=p1。 p2=p1。 p1=(struct student ?) malloc(LEN)。 scanf(%ld, %f, amp。p1?num, amp。p1?score)。 } p2?next=NULL。 return(head)。 } /*建立第一個(gè)新結(jié)點(diǎn) */ /*輸入學(xué)號(hào)不為 0,則不斷建立新結(jié)點(diǎn),并鏈入鏈表 */ /*判斷是否為第一個(gè)結(jié)點(diǎn) */ /*為最后的結(jié)點(diǎn)指針
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1