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

正文內(nèi)容

[理學(xué)]c第9章結(jié)構(gòu)體-資料下載頁

2024-12-08 00:44本頁面
  

【正文】 if(n==1) head=p1。 else p2next=p1。 p2=p1。 p1=(struct student*)malloc(LEN)。 scanf(%ld%f,amp。p1num,amp。p1score)。 } p2next=NULL。 return(head)。 } 30 2022/1/4 鏈表的輸出 void print(struct student *head) { struct student *p。 p=head。 /*注意 :此語句不可漏掉 */ while(p!=NULL) { printf(學(xué)號 =%ld,成績 =%f\n,pnum,pscore)。 p=pnext。 } } 31 2022/1/4 鏈表的刪除 struct student *del(struct student *head,long num) { struct student *p,*q。 p=q=head。 /*注意:此語句不可漏掉 */ while(p!=NULL) { if (pnum!=num) {q=p。p=pnext。} else {if (p==head) head=pnext。 /*要刪除的結(jié)點(diǎn)是頭結(jié)點(diǎn) */ if (p==NULL) qnext=NULL。/*要刪除的結(jié)點(diǎn)是尾結(jié)點(diǎn) */ else {qnext=pnext。pnext=NULL。}/*要刪除的結(jié)點(diǎn)是中間結(jié)點(diǎn) */ break。 } } return head。 } 32 2022/1/4 ? 聯(lián)合也是一種數(shù)據(jù)構(gòu)造機(jī)制 ? 聯(lián)合類似于結(jié)構(gòu),也是幾個類型相同或不同的成員的組合 ?聯(lián)合區(qū)別于結(jié)構(gòu),聯(lián)合的成員共享同一片存儲區(qū) ? 聯(lián)合在某個時(shí)刻只能訪問它的某一個成員的值 ? 聲明聯(lián)合類型與結(jié)構(gòu)類似,將關(guān)鍵字改為 union 聯(lián)合 union { int n。 double x。 char c。 } u1, u2。 union data fun10(int m, union data u)。 union data u1, u2, u3, u4, *up。 up = (union data *) malloc( sizeof( union data))。 33 2022/1/4 ? 聯(lián)合變量的初始化 – 只能對第一個成員初始化 – 如: union data u1 = {3}, u2 = {5}。 ? 聯(lián)合變量的使用 – 可整體賦值、成員訪問、取地址。如 = ?\n?。 – 可定義指向聯(lián)合的指針,可從這種指針出發(fā),通過 運(yùn)算符訪問被指聯(lián)合變量的成員 ?聯(lián)合變量的存儲實(shí)現(xiàn) – 成員共用同一存儲位置,存儲區(qū)大小由大成員決定 聯(lián)合 成員 c 的存儲位置和范圍 成員 n 的存儲位置和范圍 圖 9 .2 聯(lián)合 union data 的表示 成員 x 的存儲位置和范圍 34 2022/1/4 ? 聯(lián)合變量使用的基本規(guī)則 – 聯(lián)合變量可看成能改變面目的變量,不同時(shí)刻可能以不同性質(zhì)出現(xiàn),表示不同 的東西。 – 使用原則:應(yīng)該按所保存成員的方式使用:最近對本變量用什么方式賦值(當(dāng)作哪個成員),就用同樣方式(通過同樣成員)取值。遵受本規(guī)則的使用有效,取值與賦值的一致性由編程者保證, C系統(tǒng)不檢查。 – 未遵守規(guī)則的使用(取值方式與前面賦值不一致),語言定義未規(guī)定效果,結(jié)果依賴于具體系統(tǒng)。 聯(lián)合 35 2022/1/4 ? 前面已經(jīng)使用過枚舉常量 ? 聲明枚舉類型 – enum 枚舉標(biāo)志 {枚舉常量名 ,…}。 – 如: enum color {RED, GREEN, BLUE}。 ? 使用枚舉標(biāo)志 – 如: enum color cr1, cr2。 ? 使用 typedef定義枚舉類型 – typedef enum {RED, GREEN, BLUE} COLOR。 – COLOR cr3, cr4 ? 枚舉類型變量實(shí)際看作整型變量。主要是提高可讀性。枚舉常量由編譯處理,一次可定義一組常量,很方便。 ? 可給枚舉常量指定值,隨后的枚舉常量遞增取值。 枚舉 默認(rèn) RED為 0,GREEN為 1,BLUE為 2. 例: enum color {RED = 1, GREEN, BLUE, WHITE = 8, GREY = 12, BLACK, PINK = 15}。 RED = 1, GREEN = 2, BLUE = 3,WHITE = 8, GREY = 12,BLACK = 13, PINK =15 36 2022/1/4 ? 簡單實(shí)例 – 角度可以表示為弧度( 0到 2π)或角度(度分)??啥x類型 ANGLE,所有處理程序都基于該類型 枚舉 enum ANGLETAG {DEGREE, RADIAN}。 typedef struct { enum ANGLETAG tag。 union { struct { int deg, mnt } degree。 double radian。 } dt。 } ANGLE。 37 2022/1/4 ? 使用結(jié)構(gòu)進(jìn)行數(shù)據(jù)壓縮的表示方式 ? 把結(jié)構(gòu)成員定義為字段的方式與一般結(jié)構(gòu)成員定義的方式類似 ?附加規(guī)定 – 成員的類型只能是 int或 unsigned int – 在字段描述后給出字段的二進(jìn)制位數(shù) – 字段位數(shù)不能超過一個字 ? 舉例: ? 使用字段會降低訪問結(jié)構(gòu)成員的效率 字段(了解) struct pack { unsigned a:2。 unsigned b:8。 unsigned c:6。 }pk1, pk2
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1