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

正文內(nèi)容

c語(yǔ)言--第九章結(jié)構(gòu)體與共用體(編輯修改稿)

2024-11-13 03:04 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ))。 ( 2) calloc()函數(shù) 原型: void *calloc(unsigned int num, unsigned int size) 功能: 分配 num個(gè)大小為 size字節(jié)的連續(xù)存儲(chǔ)空間 。成功,返回存儲(chǔ)空間首地址;不成功,返回空值( NULL)。 int *pa。 pa=(int *)calloc(10,sizeof(int))。 ( 3) free函數(shù) 原型: void free(void *ptr) 功能:將指針變量 ptr指向的存儲(chǔ)空間釋放。 注意: malloc函數(shù)和 calloc函數(shù)開(kāi)辟的存儲(chǔ)空間。 ptr是欲釋放空間的首地址,不必指定空間大小。該函數(shù)無(wú)返回值。 free(pa)。 3. 鏈表 鏈表概念:同一類型的結(jié)構(gòu)體變量連接到一起,構(gòu)成一個(gè)鏈,各個(gè)結(jié)構(gòu)體變量即為鏈表中的結(jié)點(diǎn)。 (1) 靜態(tài)鏈表 所有結(jié)點(diǎn)都是在程序中定義的 ,不是臨時(shí)開(kāi)辟的 ,也不能用完后釋放 ,這種鏈表稱為”靜態(tài)鏈表” . 例如: struct link { char ch。 struct link *p。 } a。 在這里, p是一個(gè)可以指向 struct link類型變量的指針;因此,=amp。a是合法的表達(dá)式,由此構(gòu)成的存儲(chǔ)結(jié)構(gòu)如圖所示: 例 一個(gè)簡(jiǎn)單的鏈表 struct node { int data。 struct node *next。 }。 main() { struct node a,b,c,*h,*p。 =10。=20。=30。 h=amp。a。 =amp。b。 =amp。c。 =’\0’。 p=h。 /* 移動(dòng) p,使之依次指向 a、 b、 c,輸出它們 data域中的值 */ while(p) { printf(“%d”,pdata)。 p=pnext。 /* p順序后移 */ } printf(“\n”)。 h a b c } (2) 動(dòng)態(tài)鏈表 head 頭指針 頭結(jié)點(diǎn) 動(dòng)態(tài)鏈表指的是在程序執(zhí)行過(guò)程中從無(wú)到有的建立起一個(gè)鏈表 ,即一個(gè)一個(gè)的開(kāi)辟結(jié)點(diǎn)和輸入各結(jié)點(diǎn)數(shù)據(jù),并建立起前后相鏈的關(guān)系。 每個(gè)鏈表都用一個(gè)“頭指針”變量來(lái)指向鏈表的開(kāi)始,如圖中的 head;也就是說(shuō),在 head中存放了鏈表第一個(gè)結(jié)點(diǎn)的地址。在這個(gè)鏈表中,設(shè)置了一個(gè)“頭結(jié)點(diǎn)”,這個(gè)結(jié)點(diǎn)的數(shù)據(jù)域中不存放數(shù)據(jù)(也可以不設(shè)頭結(jié)點(diǎn))。鏈表最后一個(gè)結(jié)點(diǎn)的指針域不需存放地址時(shí),就置成‘ \0?( NULL)值,標(biāo)志著鏈表的結(jié)束。上述鏈表的每個(gè)結(jié)點(diǎn)只有一個(gè)指針域,每個(gè)指針域存放著下一個(gè)結(jié)點(diǎn)的地址,因此,這種鏈表只能從當(dāng)前結(jié)點(diǎn)找到后續(xù)結(jié)點(diǎn),故稱為“單向鏈表”。 構(gòu)成如圖所示的單向鏈表,每個(gè)結(jié)點(diǎn)應(yīng)該由兩個(gè)成員組成:一個(gè)是整型的成員,一個(gè)是指向自身結(jié)構(gòu)的指針類型成員。結(jié)點(diǎn)類型定義如下: struct slist { int data。 struct slist *next。 }。 8 7 ^ I. 建立帶有頭結(jié)點(diǎn)的單向鏈表 建立單向鏈表的主要操作步驟如下: ①讀取數(shù)據(jù); ②生成新結(jié)點(diǎn); ③將數(shù)據(jù)存入結(jié)點(diǎn)的成員變量中; ④將新結(jié)點(diǎn)插入到鏈表中。重復(fù)上述操作直至輸入結(jié)束。 例 編寫(xiě)函數(shù) creat_slist,建立帶有頭結(jié)點(diǎn)的單向鏈表。結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)值從鍵盤輸入,以 1作為輸入結(jié)束標(biāo)志。鏈表的頭結(jié)點(diǎn)的地址由函數(shù)值返回。 h:頭結(jié)點(diǎn) r:尾結(jié)點(diǎn) s:新結(jié)點(diǎn) struct slist *creat_slist() { int c。 struct slist *h,*s,*r。 h=(struct slist *)mal
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1