c語言第十二章(蘇小紅版)學(xué)習(xí)教案_第1頁
c語言第十二章(蘇小紅版)學(xué)習(xí)教案_第2頁
c語言第十二章(蘇小紅版)學(xué)習(xí)教案_第3頁
c語言第十二章(蘇小紅版)學(xué)習(xí)教案_第4頁
c語言第十二章(蘇小紅版)學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、會計學(xué)1c語言第十二章語言第十二章(蘇小紅版蘇小紅版)動態(tài)數(shù)據(jù)結(jié)構(gòu)、動態(tài)鏈表第1頁/共60頁第2頁/共60頁第3頁/共60頁第4頁/共60頁第5頁/共60頁第6頁/共60頁第7頁/共60頁分配內(nèi)存不集中,尋址效率不高分配內(nèi)存不集中,尋址效率不高 對數(shù)組賦初值時,易發(fā)生錯位對數(shù)組賦初值時,易發(fā)生錯位 結(jié)構(gòu)顯得零散,不易管理結(jié)構(gòu)顯得零散,不易管理第8頁/共60頁第9頁/共60頁聲明了一個結(jié)構(gòu)體類型聲明了一個結(jié)構(gòu)體類型構(gòu)成結(jié)構(gòu)體的變量稱為結(jié)構(gòu)體的成員構(gòu)成結(jié)構(gòu)體的變量稱為結(jié)構(gòu)體的成員(Structure Member)結(jié)構(gòu)體的名字稱為結(jié)構(gòu)體標簽結(jié)構(gòu)體的名字稱為結(jié)構(gòu)體標簽(Structure Tag)第

2、10頁/共60頁結(jié)構(gòu)體模板結(jié)構(gòu)體模板(Structure Template)Dont forget the semicolon!第11頁/共60頁(1 1)先定義結(jié)構(gòu)體類型,再定義變量名)先定義結(jié)構(gòu)體類型,再定義變量名(2 2)在定義類型的同時定義變量)在定義類型的同時定義變量(3 3)直接定義結(jié)構(gòu)體變量(不指定結(jié)構(gòu)體標簽)直接定義結(jié)構(gòu)體變量(不指定結(jié)構(gòu)體標簽)第12頁/共60頁關(guān)鍵字關(guān)鍵字typedef為一種為一種已存在的已存在的類型定義一個類型定義一個別名別名,并未定義新類型,并未定義新類型STUDENT與與struct student類型是類型是同義詞同義詞第13頁/共60頁等價于等價于

3、等價于等價于第14頁/共60頁結(jié)構(gòu)體定義結(jié)構(gòu)體定義可以嵌套可以嵌套第15頁/共60頁第16頁/共60頁按結(jié)構(gòu)體的成員順序逐一對相應(yīng)成員進行賦值按結(jié)構(gòu)體的成員順序逐一對相應(yīng)成員進行賦值格式符格式符%02d中中2d前面的前導(dǎo)符前面的前導(dǎo)符0表示輸出數(shù)據(jù)時,若左邊有多余位,則補表示輸出數(shù)據(jù)時,若左邊有多余位,則補0第17頁/共60頁那么程序如何修改?兩個地址有何不同?兩個地址有何不同?第18頁/共60頁那么程序如何修改?結(jié)構(gòu)體成員的地址與該成員在結(jié)構(gòu)體中所處的位置及其所占內(nèi)存的字節(jié)數(shù)相關(guān)結(jié)構(gòu)體成員的地址與該成員在結(jié)構(gòu)體中所處的位置及其所占內(nèi)存的字節(jié)數(shù)相關(guān)結(jié)構(gòu)體變量的地址結(jié)構(gòu)體變量的地址&st

4、u2是該變量所占內(nèi)存空間的首地址是該變量所占內(nèi)存空間的首地址第19頁/共60頁nstruct = ?第20頁/共60頁事實上,所有數(shù)據(jù)類型在內(nèi)存中都是從事實上,所有數(shù)據(jù)類型在內(nèi)存中都是從地址開始存放的地址開始存放的且結(jié)構(gòu)所占的實際空間一般是按照機器字長對齊的且結(jié)構(gòu)所占的實際空間一般是按照機器字長對齊的不同的編譯器、平臺,對齊方式會有變化不同的編譯器、平臺,對齊方式會有變化結(jié)構(gòu)體變量的成員的存儲結(jié)構(gòu)體變量的成員的存儲是與機器相關(guān)的是與機器相關(guān)的具有特定數(shù)據(jù)類型的具有特定數(shù)據(jù)類型的也是與機器相關(guān)的也是與機器相關(guān)的所以一個結(jié)構(gòu)體在內(nèi)存中的存儲格式也是與機器相關(guān)的所以一個結(jié)構(gòu)體在內(nèi)存中的存儲格式也是與

5、機器相關(guān)的第21頁/共60頁第22頁/共60頁建立了數(shù)據(jù)庫中的多條記錄,每條對應(yīng)一個學(xué)生信息建立了數(shù)據(jù)庫中的多條記錄,每條對應(yīng)一個學(xué)生信息第23頁/共60頁第24頁/共60頁ptstu1成員成員1成員成員2成員成員3成員成員4成成員員5等價于等價于第25頁/共60頁ptstu1成員成員1成員成員2成員成員3成員成員4成成員員5第26頁/共60頁ptstu1成員成員1成員成員2成員成員3成員成員4成成員員5第27頁/共60頁等價于等價于等價于等價于ptstu30stu0stu1stu2stu3stu4stu5.stu29第28頁/共60頁ptstu30stu0stu1stu2stu3stu4st

6、u5.stu29第29頁/共60頁第30頁/共60頁struct date int year; int month; int day;void Func(struct date p) p.year = 2000; p.month = 5; p.day = 22;第31頁/共60頁struct date int year; int month; int day;void Func(struct date ) year = 2000; month = 5; day = 22;指針作函數(shù)形參指針作函數(shù)形參實參必須為地址值實參必須為地址值第32頁/共60頁struct date int year; i

7、nt month; int day; Func(struct date ) year = 2000; month = 5; day = 22; 第33頁/共60頁第34頁/共60頁第35頁/共60頁第36頁/共60頁第37頁/共60頁第38頁/共60頁第39頁/共60頁0 x0037b00第40頁/共60頁nsizeof(union number)取決于的那個成員變量0 x0037b00n同一內(nèi)存單元在每一瞬時只能存放其中一種類型的成員同一內(nèi)存單元在每一瞬時只能存放其中一種類型的成員n起作用的成員是起作用的成員是的成員,不能作為函數(shù)參數(shù)的成員,不能作為函數(shù)參數(shù)n不能進行比較操作,只能對第一個成

8、員初始化不能進行比較操作,只能對第一個成員初始化第41頁/共60頁第42頁/共60頁第43頁/共60頁n描述的是一組整型值的集合n用于當某些量僅由有限個數(shù)據(jù)值組成時 enum weeks SUN, MON, TUE, WED, THU, FRI, SAT; enum weeks today; enum response no, yes, none; enum response answer; today = TUE; answer = yes; enum response no = -1, yes = 1, none = 0; 其值為其值為2 2其值為其值為1 1第44頁/共60頁結(jié)構(gòu)體聲明時

9、不能包含本結(jié)構(gòu)體類型成員,結(jié)構(gòu)體聲明時不能包含本結(jié)構(gòu)體類型成員,系統(tǒng)將無法為這樣的結(jié)構(gòu)體類型分配內(nèi)存系統(tǒng)將無法為這樣的結(jié)構(gòu)體類型分配內(nèi)存 可包含指向本結(jié)構(gòu)體可包含指向本結(jié)構(gòu)體類型的指針變量類型的指針變量第45頁/共60頁datanextheaddatanextdatanextdataNULL第46頁/共60頁datanextheaddatanextdatanextdataNULL兩部分信息組成兩部分信息組成一個節(jié)點一個節(jié)點第47頁/共60頁datanextheaddatanextdatanextdataNULL數(shù)據(jù)域:存儲數(shù)據(jù)元素數(shù)據(jù)域:存儲數(shù)據(jù)元素信息信息指針域:存儲直接后指針域:存儲直接后

10、繼的節(jié)點信息繼的節(jié)點信息n個節(jié)點鏈接成一個鏈表(因為只包含一個指針域,故又稱線性鏈個節(jié)點鏈接成一個鏈表(因為只包含一個指針域,故又稱線性鏈表或單向鏈表)表或單向鏈表)第48頁/共60頁data = Anodedata = Bnodedata = Cnodehead第49頁/共60頁headdatanext p(2) pr = ppr(3) pr-next = NULL第50頁/共60頁datanextp(2) pr = pheaddataprpr(3) pr-next = NULLnext第51頁/共60頁 datanextheaddatanext p第52頁/共60頁datanextdatanextdatanext pdatanext 第53頁/共60頁headdata p第54頁/共60頁headdatanext pdatanextdatanextdata第

溫馨提示

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

評論

0/150

提交評論