補(bǔ)充資料結(jié)構(gòu)與自定義類型ppt課件_第1頁(yè)
補(bǔ)充資料結(jié)構(gòu)與自定義類型ppt課件_第2頁(yè)
補(bǔ)充資料結(jié)構(gòu)與自定義類型ppt課件_第3頁(yè)
補(bǔ)充資料結(jié)構(gòu)與自定義類型ppt課件_第4頁(yè)
補(bǔ)充資料結(jié)構(gòu)與自定義類型ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 回想: 運(yùn)用數(shù)組的益處是可以用一個(gè)變量定義邏輯上相關(guān)的一批數(shù)據(jù),使每個(gè)分量具有一樣的名字、不同的下標(biāo),但有一個(gè)限制,即一個(gè)數(shù)組變量包含的一切成分元素必需為同一類型,例如:int a3。 學(xué)學(xué) 號(hào)號(hào)姓姓 名名性性 別別高考分?jǐn)?shù)高考分?jǐn)?shù)生生 源源010031010031張三張三女女567567北京北京010032010032李四李四女女539539深圳深圳010033010033王五王五男男460460上海上海 定義構(gòu)造類型student: int score; / int score; /* *高考分?jǐn)?shù)高考分?jǐn)?shù)* */ / char char * *place; place; / /* *生源

2、生源* */ / ; ; struct datestruct date int year,month,day; int year,month,day; 【例】定義代表日期信息、藥品信息的構(gòu)造類型?!纠慷x代表日期信息、藥品信息的構(gòu)造類型。 struct date struct date int year; int year; int month; int month; int day; int day; ; ; struct medicine struct medicine char char * *code;code; char char * *name;name; float price

3、; float price; char char * *place;place; struct date validity; struct date validity; ; ;codenamepriceplacevalidityyear month day構(gòu)造類型構(gòu)造類型medicinemedicine: int score; int score; char char place12;place12; ; ;1 1先定義構(gòu)造類型,再援用該類型定義的變量先定義構(gòu)造類型,再援用該類型定義的變量 2定義構(gòu)造類型的同時(shí)闡明變量place12;place12; xia,ding,li;xia,ding,

4、li; 2. 2.構(gòu)造變量的援用構(gòu)造變量的援用 構(gòu)造變量通常都以成員的方式加以援用,構(gòu)造變量成員的標(biāo)構(gòu)造變量通常都以成員的方式加以援用,構(gòu)造變量成員的標(biāo)志方式為:志方式為:成員運(yùn)算符成員運(yùn)算符【例】設(shè)有如下闡明:【例】設(shè)有如下闡明: struct date struct date int year,month,day; int year,month,day;構(gòu)造變量名構(gòu)造變量名. .成員名成員名 以下語(yǔ)句序列是對(duì)藥品構(gòu)造變量以下語(yǔ)句序列是對(duì)藥品構(gòu)造變量drug1drug1、drug2drug2進(jìn)展賦值、輸入進(jìn)展賦值、輸入和輸出運(yùn)算:和輸出運(yùn)算: struct medicine char *co

5、de; char *name; float price; char *place; struct date validity; drug1,drug2; =“penicillin; drug1.price=6.38; drug1.price=6.38; =“vitamine C =“vitamine C; ; if(drug2.code if(drug2.code“99103x“99103x) ) drug2.price=drug2.price-7.5; drug2.price=drug2.price-7.5; scanf(“%d%d

6、%d scanf(“%d%d%d,&drug1.validity.year,&drug1.validity.year, &drug1.validity.month,&drug1.validity.day); &drug1.validity.month,&drug1.validity.day); puts(); puts(); puts(); puts();3.3.構(gòu)造變量的初始化構(gòu)造變量的初始化 【例】構(gòu)造變量在定義時(shí)被賦初值?!纠繕?gòu)造變量在定義時(shí)被賦初值。2002

7、,12,31;2002,12,31;9.3.2 9.3.2 構(gòu)造數(shù)組構(gòu)造數(shù)組 1. 1. 構(gòu)造數(shù)組的定義構(gòu)造數(shù)組的定義 float price; float price; char char * *place;place; struct date struct date validity;validity; 2. 2.構(gòu)造數(shù)組的援用構(gòu)造數(shù)組的援用 構(gòu)造數(shù)組是以下標(biāo)變量的成員名方式加以援用的。其標(biāo)志方式構(gòu)造數(shù)組是以下標(biāo)變量的成員名方式加以援用的。其標(biāo)志方式為:為:for(i=0;iN;i+)for(i=0;iprice-=200; price-=200; (+py) (+py)stock+=10

8、;stock+=10;18501850/ /* *電冰箱降價(jià)電冰箱降價(jià)200200元元* */ /*洗衣機(jī)庫(kù)存加洗衣機(jī)庫(kù)存加10*/103103 構(gòu)造指針作為函數(shù)的參數(shù)使得構(gòu)造變量也能像普通變量一樣實(shí)構(gòu)造指針作為函數(shù)的參數(shù)使得構(gòu)造變量也能像普通變量一樣實(shí)現(xiàn)現(xiàn)“傳地址調(diào)用。調(diào)用發(fā)生時(shí),實(shí)參傳送給形參的是本身構(gòu)造的傳地址調(diào)用。調(diào)用發(fā)生時(shí),實(shí)參傳送給形參的是本身構(gòu)造的存儲(chǔ)地址,使方式參數(shù)直接指向了真實(shí)實(shí)參,形參不再另占內(nèi)存單存儲(chǔ)地址,使方式參數(shù)直接指向了真實(shí)實(shí)參,形參不再另占內(nèi)存單元,從而使函數(shù)體中對(duì)方式參數(shù)所作的改動(dòng)就是對(duì)真實(shí)參數(shù)所作。元,從而使函數(shù)體中對(duì)方式參數(shù)所作的改動(dòng)就是對(duì)真實(shí)參數(shù)所作。 3

9、. 3.構(gòu)造指針作為函數(shù)的參數(shù)構(gòu)造指針作為函數(shù)的參數(shù) 【例】知10名學(xué)生的三門單科考試成果,求每一門課程的總平均分。運(yùn)轉(zhuǎn)結(jié)果為:運(yùn)轉(zhuǎn)結(jié)果為:【例【例1】運(yùn)轉(zhuǎn)結(jié)果為:運(yùn)轉(zhuǎn)結(jié)果為:【例【例2】運(yùn)轉(zhuǎn)結(jié)果為:運(yùn)轉(zhuǎn)結(jié)果為:【例【例3】【例【例4】見實(shí)驗(yàn)教程】見實(shí)驗(yàn)教程P66-程序改錯(cuò)。程序改錯(cuò)。【例【例5】見實(shí)驗(yàn)教程】見實(shí)驗(yàn)教程P66-程序填空。程序填空?!纠纠?】見實(shí)驗(yàn)教程】見實(shí)驗(yàn)教程P59-程序填空。程序填空。 9.4.1 9.4.1 鏈表概述鏈表概述 1. 1.什么是鏈表什么是鏈表 順序存儲(chǔ)順序存儲(chǔ)將邏輯上相鄰的數(shù)據(jù)分配在物理上相鄰的存儲(chǔ)單將邏輯上相鄰的數(shù)據(jù)分配在物理上相鄰的存儲(chǔ)單元中,數(shù)據(jù)之間

10、的邏輯關(guān)系經(jīng)過(guò)存儲(chǔ)單元的鄰接關(guān)系來(lái)表達(dá);元中,數(shù)據(jù)之間的邏輯關(guān)系經(jīng)過(guò)存儲(chǔ)單元的鄰接關(guān)系來(lái)表達(dá); 鏈接存儲(chǔ)鏈接存儲(chǔ)將邏輯上相鄰的數(shù)據(jù)分配在物理上離散的存儲(chǔ)單將邏輯上相鄰的數(shù)據(jù)分配在物理上離散的存儲(chǔ)單元中,然后在每一個(gè)存儲(chǔ)單元中粘貼一張標(biāo)有相鄰者存儲(chǔ)地址的標(biāo)元中,然后在每一個(gè)存儲(chǔ)單元中粘貼一張標(biāo)有相鄰者存儲(chǔ)地址的標(biāo)簽,使數(shù)據(jù)之間的邏輯關(guān)系經(jīng)過(guò)地址的鏈接關(guān)系來(lái)表達(dá)。簽,使數(shù)據(jù)之間的邏輯關(guān)系經(jīng)過(guò)地址的鏈接關(guān)系來(lái)表達(dá)。 2.鏈表實(shí)例 以下圖表示存放整數(shù)11,13,17,19的鏈表:head1079115312860頭結(jié)點(diǎn)頭結(jié)點(diǎn)末結(jié)點(diǎn)末結(jié)點(diǎn)頭指針頭指針數(shù)據(jù)域數(shù)據(jù)域指針域指針域1079115312860NU

11、LL131719119.4.2 9.4.2 單鏈表結(jié)點(diǎn)的類型定義單鏈表結(jié)點(diǎn)的類型定義111153數(shù)據(jù)域:存儲(chǔ)數(shù)據(jù)數(shù)據(jù)域:存儲(chǔ)數(shù)據(jù)指針域:存儲(chǔ)后續(xù)結(jié)點(diǎn)的地址指針域:存儲(chǔ)后續(xù)結(jié)點(diǎn)的地址 單鏈表結(jié)點(diǎn)的類型定義: struct struct 構(gòu)造名構(gòu)造名 數(shù)據(jù)成員表列;數(shù)據(jù)成員表列; struct struct 構(gòu)造名構(gòu)造名 * *指針名;指針名; ; ; head1079115312860107911115313128617139019NULL【例】定義素?cái)?shù)鏈表的結(jié)點(diǎn)類型【例】定義素?cái)?shù)鏈表的結(jié)點(diǎn)類型struct primestruct prime。素?cái)?shù)鏈表:素?cái)?shù)鏈表:headhead11111313

12、17171919NULLNULL 要求素?cái)?shù)鏈表結(jié)點(diǎn)只包含一個(gè)數(shù)據(jù)成員,因此結(jié)點(diǎn)類型可要求素?cái)?shù)鏈表結(jié)點(diǎn)只包含一個(gè)數(shù)據(jù)成員,因此結(jié)點(diǎn)類型可定義為:定義為: struct prime struct prime int data int data; struct prime struct prime * *next; ;next; ; 【例】定義學(xué)生鏈表的結(jié)點(diǎn)類型【例】定義學(xué)生鏈表的結(jié)點(diǎn)類型struct studentstruct student。 假設(shè)一個(gè)學(xué)生記錄包括學(xué)號(hào)、姓名、性別和高考成果,那么假設(shè)一個(gè)學(xué)生記錄包括學(xué)號(hào)、姓名、性別和高考成果,那么學(xué)生鏈表的結(jié)點(diǎn)類型可定義為:學(xué)生鏈表的結(jié)點(diǎn)類型可定

13、義為: struct student struct student long num; long num; char char * *name;name; char sex; char sex; int score; int score; struct student struct student * *next; next; ; ;struct student struct student * *p,p,* *q;q; struct student struct student long num; long num; char char * *name;name; char sex; cha

14、r sex; int score; int score; struct student struct student * *next; next; ; ;010201010201倪桂蘭倪桂蘭女女568568struct student struct student * *p,p,* *q;q;p-num=010201;p-name=“p-num=010201;p-name=“倪桂蘭;倪桂蘭;p-sex=p-sex=女女;p-score=568;p-score=568;010202010202劉寧寧劉寧寧女女544544p pq-num=010202;q-name=“q-num=010202;q

15、-name=“劉寧寧;劉寧寧;q-sex=q-sex=女女;q-score=544;q-score=544;q qp-next=q;p-next=q;9.4.3 9.4.3 動(dòng)態(tài)存儲(chǔ)分配函數(shù)動(dòng)態(tài)存儲(chǔ)分配函數(shù) 2.calloc 2.calloc函數(shù)函數(shù) 函數(shù)原型:函數(shù)原型:void void * *calloc(unsigned n,unsigned size)calloc(unsigned n,unsigned size) 1.malloc 1.malloc函數(shù)函數(shù) 函數(shù)原型:函數(shù)原型:void void * *malloc(unsigned size)malloc(unsigned size

16、) 函數(shù)功能:在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一塊長(zhǎng)度為函數(shù)功能:在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一塊長(zhǎng)度為sizesize字節(jié)的字節(jié)的延續(xù)空間,并前往該存儲(chǔ)區(qū)域的首地址;假設(shè)函數(shù)調(diào)用失敗,前往延續(xù)空間,并前往該存儲(chǔ)區(qū)域的首地址;假設(shè)函數(shù)調(diào)用失敗,前往空指針空指針NULLNULL。 3.free 3.free函數(shù)函數(shù) 函數(shù)原型:函數(shù)原型:void free(void void free(void * *p)p) 函數(shù)功能:釋放當(dāng)前正被指針函數(shù)功能:釋放當(dāng)前正被指針p p所指向的內(nèi)存區(qū)域,將它歸所指向的內(nèi)存區(qū)域,將它歸還給系統(tǒng)以作它用。還給系統(tǒng)以作它用。 9.4.4 9.4.4 創(chuàng)建鏈表創(chuàng)建鏈表 創(chuàng)建鏈表從空表

17、開場(chǎng),循環(huán)地將新結(jié)點(diǎn)逐一產(chǎn)生出來(lái),并按預(yù)定創(chuàng)建鏈表從空表開場(chǎng),循環(huán)地將新結(jié)點(diǎn)逐一產(chǎn)生出來(lái),并按預(yù)定的鏈接關(guān)系插入到鏈表中去的過(guò)程。的鏈接關(guān)系插入到鏈表中去的過(guò)程。010201010201倪桂蘭倪桂蘭女女568568010202010202劉寧寧劉寧寧女女544544010230010230潘俊潘俊男男626626NULLNULLhead 結(jié)點(diǎn)插入通常有兩種預(yù)定關(guān)系:結(jié)點(diǎn)插入通常有兩種預(yù)定關(guān)系: “ “棧式構(gòu)造棧式構(gòu)造新結(jié)點(diǎn)總是從表首插入,使得最先插入到新結(jié)點(diǎn)總是從表首插入,使得最先插入到 鏈表中去的結(jié)點(diǎn)被擠壓到鏈尾,成為末結(jié)點(diǎn),而最后插入鏈表中去的結(jié)點(diǎn)被擠壓到鏈尾,成為末結(jié)點(diǎn),而最后插入 的結(jié)

18、點(diǎn)成為鏈表的頭結(jié)點(diǎn);的結(jié)點(diǎn)成為鏈表的頭結(jié)點(diǎn); “隊(duì)列式構(gòu)造新結(jié)點(diǎn)總是從表尾插入; 1創(chuàng)建“棧式鏈表p 3 設(shè)設(shè)headhead為鏈表頭指針,為鏈表頭指針,p p為創(chuàng)建動(dòng)態(tài)結(jié)點(diǎn)的任務(wù)指針,那么:為創(chuàng)建動(dòng)態(tài)結(jié)點(diǎn)的任務(wù)指針,那么: 建空表:建空表: head headNULLNULL; 創(chuàng)建新結(jié)點(diǎn),創(chuàng)建新結(jié)點(diǎn), p=( p=(結(jié)點(diǎn)類型結(jié)點(diǎn)類型* *)malloc()malloc(結(jié)點(diǎn)長(zhǎng)度結(jié)點(diǎn)長(zhǎng)度) ) 并對(duì)結(jié)點(diǎn)的數(shù)據(jù)域賦值:并對(duì)結(jié)點(diǎn)的數(shù)據(jù)域賦值: 新結(jié)點(diǎn)進(jìn)棧:新結(jié)點(diǎn)進(jìn)棧: p-next=head;head=p; p-next=head;head=p; 反復(fù)、步驟假設(shè)干次;反復(fù)、步驟假設(shè)干次;head

19、 NULLheadp 3NULLheadp 3 NULLhead 【例】用上述步驟往鏈表中插入兩個(gè)結(jié)點(diǎn):【例】用上述步驟往鏈表中插入兩個(gè)結(jié)點(diǎn):head p 3headp 3 NULL 3 NULLheadp 5 5 3 NULLheadp 【例】編寫程序,建立一個(gè)存儲(chǔ)字符及其ASCII碼的鏈表,規(guī)定ASCII碼的范圍為m,n32mnnext=plast-next=p; 3 headlast 5p 3 head 5plast last last指針后移至末結(jié)點(diǎn):指針后移至末結(jié)點(diǎn):lastlastlast-nextlast-next; 反復(fù)、步驟假設(shè)干次,如下所示;反復(fù)、步驟假設(shè)干次,如下所示;p

20、 7 開辟后續(xù)新結(jié)點(diǎn):開辟后續(xù)新結(jié)點(diǎn):p=(p=(結(jié)點(diǎn)類型結(jié)點(diǎn)類型* *) malloc() malloc(結(jié)點(diǎn)長(zhǎng)度結(jié)點(diǎn)長(zhǎng)度) ); 新結(jié)點(diǎn)插入表尾:新結(jié)點(diǎn)插入表尾:last-next=plast-next=p; 3 head 5plastp7 終止鏈表的延伸:終止鏈表的延伸:last-nextlast-nextNULLNULL; last last指針后移至末結(jié)點(diǎn):指針后移至末結(jié)點(diǎn):lastlastlast-nextlast-next; 3 head 5lastp7lasthead357NUlllast9.4.5 9.4.5 結(jié)點(diǎn)的刪除與插入結(jié)點(diǎn)的刪除與插入 1. 1.刪除結(jié)點(diǎn)刪除結(jié)點(diǎn) 刪除

21、結(jié)點(diǎn)刪除結(jié)點(diǎn)解除該結(jié)點(diǎn)的鏈接關(guān)系,使之與鏈表脫鉤,再調(diào)用解除該結(jié)點(diǎn)的鏈接關(guān)系,使之與鏈表脫鉤,再調(diào)用freefree函數(shù)收回它的存儲(chǔ)空間。函數(shù)收回它的存儲(chǔ)空間。 1 1被刪結(jié)點(diǎn)被刪結(jié)點(diǎn)p p為鏈表首結(jié)點(diǎn)為鏈表首結(jié)點(diǎn) p=head; / p=head; /* *使使p p指針指向首結(jié)點(diǎn)指針指向首結(jié)點(diǎn)* */ / head=head-next; / head=head-next; /* *頭指針后移一個(gè)結(jié)點(diǎn)頭指針后移一個(gè)結(jié)點(diǎn)* */ / free(p); / free(p); /* *收回首結(jié)點(diǎn)的存儲(chǔ)空間收回首結(jié)點(diǎn)的存儲(chǔ)空間* */ /刪除學(xué)生鏈表的首結(jié)點(diǎn)刪除學(xué)生鏈表的首結(jié)點(diǎn)1001倪蘭女5681

22、002王 田女5371003劉寧女5441004應(yīng) 浩男4991005潘 俊男626NULLheadpheadheadheadnextfree(p) 2被刪結(jié)點(diǎn)為鏈表的中間結(jié)點(diǎn)或末結(jié)點(diǎn)1113171997NULLheadprep prenext=pnext; 借助兩個(gè)任務(wù)指針借助兩個(gè)任務(wù)指針p p和和prepre,尋覓被刪結(jié)點(diǎn)的過(guò)程如下:,尋覓被刪結(jié)點(diǎn)的過(guò)程如下: p p指針從頭至尾對(duì)鏈表的結(jié)點(diǎn)逐一掃描,而指針從頭至尾對(duì)鏈表的結(jié)點(diǎn)逐一掃描,而prepre指針總是跟蹤指針總是跟蹤p p當(dāng)當(dāng)前所指結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn),與前所指結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn),與p p指針堅(jiān)持同步挪動(dòng),指針堅(jiān)持同步挪動(dòng),p p指針一旦找到

23、了被指針一旦找到了被刪結(jié)點(diǎn),執(zhí)行下面的語(yǔ)句即可實(shí)現(xiàn)刪除:刪結(jié)點(diǎn),執(zhí)行下面的語(yǔ)句即可實(shí)現(xiàn)刪除:free(p);free(p); 【例】結(jié)點(diǎn)刪除的例子見書【例】結(jié)點(diǎn)刪除的例子見書P171P171頁(yè)。頁(yè)。 【例】創(chuàng)建偶數(shù)【例】創(chuàng)建偶數(shù)2 21010之間鏈表,并刪除指定偶數(shù),之間鏈表,并刪除指定偶數(shù),要求輸出創(chuàng)建的鏈表以及刪除后的結(jié)果。要求輸出創(chuàng)建的鏈表以及刪除后的結(jié)果。 2.結(jié)點(diǎn)的插入+=?&NULLheadpinsert* 【例】將以下圖中的【例】將以下圖中的insertinsert指針指向的結(jié)點(diǎn)插入到頭指針為指針指向的結(jié)點(diǎn)插入到頭指針為headhead的鏈表中,且指針的鏈表中,且指針p

24、p曾經(jīng)指向插入點(diǎn)。曾經(jīng)指向插入點(diǎn)。 1在知結(jié)點(diǎn)之后插入+=?&NULLheadpinsert*p pnext=insert;next=insert;insertinsertnext=pnext=pnext;next; 2在知結(jié)點(diǎn)之前插入+=?&NULLheadinsert*insertinsertnext=p;next=p;preppreprenext=insert;next=insert;思索:上述兩個(gè)拉鏈語(yǔ)句的次序能顛倒嗎?思索:上述兩個(gè)拉鏈語(yǔ)句的次序能顛倒嗎?【例】結(jié)點(diǎn)插入的例子見書【例】結(jié)點(diǎn)插入的例子見書P173P173頁(yè)例頁(yè)例9.119.11。 共用體共用體同一塊內(nèi)存

25、區(qū)域在不同時(shí)辰存儲(chǔ)不同類型的數(shù)據(jù),同一塊內(nèi)存區(qū)域在不同時(shí)辰存儲(chǔ)不同類型的數(shù)據(jù),是一種內(nèi)存覆蓋技術(shù)。共用體能使多個(gè)類型不同的變量共享一塊內(nèi)是一種內(nèi)存覆蓋技術(shù)。共用體能使多個(gè)類型不同的變量共享一塊內(nèi)存區(qū)域,這些變量在不同的時(shí)間去占用這一片內(nèi)存。存區(qū)域,這些變量在不同的時(shí)間去占用這一片內(nèi)存。 9.5.1 9.5.1 共用體類型的定義共用體類型的定義 方式:方式: union union 共用體名共用體名 成員表列成員表列 ; ;關(guān)鍵字,代表共用體類型關(guān)鍵字,代表共用體類型有時(shí)也會(huì)省略有時(shí)也會(huì)省略 【例】 union student long num; char name10; int score;

26、zhang , lin; 這種類型使長(zhǎng)度為這種類型使長(zhǎng)度為1010個(gè)字節(jié)的內(nèi)存區(qū)域最長(zhǎng)成員所占的字節(jié)數(shù)個(gè)字節(jié)的內(nèi)存區(qū)域最長(zhǎng)成員所占的字節(jié)數(shù)既能存儲(chǔ)既能存儲(chǔ)longlong型數(shù)據(jù),又能存儲(chǔ)字符串和型數(shù)據(jù),又能存儲(chǔ)字符串和intint型數(shù)據(jù),并在定義類型型數(shù)據(jù),并在定義類型的同時(shí)也定義了兩個(gè)的同時(shí)也定義了兩個(gè)union studentunion student類型的變量類型的變量zhangzhang和和linlin。 【思索題】【思索題】zhangzhang和和linlin所占據(jù)的存儲(chǔ)字節(jié)均為多少?假設(shè)將上所占據(jù)的存儲(chǔ)字節(jié)均為多少?假設(shè)將上述類型改為述類型改為struct studentstruc

27、t student,那么變量,那么變量zhangzhang和和linlin又占據(jù)多少字節(jié)?又占據(jù)多少字節(jié)? 9.5.2 9.5.2 共用體變量的援用共用體變量的援用 方式:方式: 共用體變量名共用體變量名. .成員名成員名 【例】【例】=“=“wangfen; ; lin.score=83; lin.score=83; 【例】 union student long num; char name10; int score; zhang , lin; 1 1任何時(shí)辰,只需一個(gè)成員的值被存儲(chǔ):任何時(shí)辰,只需一個(gè)成員的值被存儲(chǔ):lin.num=99

28、0011; lin.score=83; lin.num=990011; lin.score=83; 2 2共用體變量和各成員具有一樣的存儲(chǔ)地址,即共用體變量和各成員具有一樣的存儲(chǔ)地址,即&zhang&zhang與與&zhang.num&zhang.num、&&、&zhang.score&zhang.score為同一個(gè)地址值;為同一個(gè)地址值; 3 3不能對(duì)共用體變量以整體方式援用,下面語(yǔ)句均錯(cuò):不能對(duì)共用體變量以整體方式援用,下面語(yǔ)句均錯(cuò):scanf(“%ld%s%dscanf(“%ld%s%

29、d,&lin); zhang=lin;,&lin); zhang=lin; 共用體變量的一切成員共享一段內(nèi)存,長(zhǎng)度為最長(zhǎng)成員的字節(jié)數(shù),運(yùn)用時(shí)要留意以下一些問(wèn)題: 方式: enum 枚舉名 枚舉值表列 ;enumenum為關(guān)鍵字,代表枚舉類型為關(guān)鍵字,代表枚舉類型花括號(hào)中列出的枚舉值均為常花括號(hào)中列出的枚舉值均為常量標(biāo)識(shí)符,代表具有該枚舉類量標(biāo)識(shí)符,代表具有該枚舉類型的變量可以取的全部值。型的變量可以取的全部值。 【例】【例】enum weekday enum weekday Sunday,Monday,Tueday,Wedday,Thrday,Friday,Satday; Sunday,Monday,Tueday,Wedday,Thrday,Friday,Satday;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論