首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護士
會計從業(yè)資格考試會計證) | 經(jīng)濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產(chǎn)評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質量工程師 | 物業(yè)管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
設備監(jiān)理師 | 房地產(chǎn)經(jīng)紀人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > C語言 > 復習資料 > 正文

2010年計算機等級考試二級C語言教程:第八章

來源:考試吧Exam8.com) 2010-5-31 17:45:45 考試吧:中國教育培訓第一門戶 模擬考場
2010年計算機等級考試二級C語言教程:第八章

  本例中,定義了結構stu,定義了stu類型指針變量ps。 然后分配一塊stu大內(nèi)存區(qū),并把首地址賦予ps,使ps指向該區(qū)域。再以ps為指向結構的指針變量對各成員賦值,并用printf 輸出各成員值。最后用free函數(shù)釋放ps指向的內(nèi)存空間。 整個程序包含了申請內(nèi)存空間、使用內(nèi)存空間、釋放內(nèi)存空間三個步驟, 實現(xiàn)存儲空間的動態(tài)分配。鏈表的概念在例7.9中采用了動態(tài)分配的辦法為一個結構分配內(nèi)存空間。每一次分配一塊空間可用來存放一個學生的數(shù)據(jù), 我們可稱之為一個結點。有多少個學生就應該申請分配多少塊內(nèi)存空間, 也就是說要建立多少個結點。當然用結構數(shù)組也可以完成上述工作, 但如果預先不能準確把握學生人數(shù),也就無法確定數(shù)組大小。 而且當學生留級、退學之后也不能把該元素占用的空間從數(shù)組中釋放出來。 用動態(tài)存儲的方法可以很好地解決這些問題。 有一個學生就分配一個結點,無須預先確定學生的準確人數(shù),某學生退學, 可刪去該結點,并釋放該結點占用的存儲空間。從而節(jié)約了寶貴的內(nèi)存資源。 另一方面,用數(shù)組的方法必須占用一塊連續(xù)的內(nèi)存區(qū)域。 而使用動態(tài)分配時,每個結點之間可以是不連續(xù)的(結點內(nèi)是連續(xù)的)。 結點之間的聯(lián)系可以用指針實現(xiàn)。 即在結點結構中定義一個成員項用來存放下一結點的首地址,這個用于存放地址的成員,常把它稱為指針域?稍诘谝粋結點的指針域內(nèi)存入第二個結點的首地址, 在第二個結點的指針域內(nèi)又存放第三個結點的首地址, 如此串連下去直到最后一個結點。最后一個結點因無后續(xù)結點連接,其指針域可賦為0。這樣一種連接方式,在數(shù)據(jù)結構中稱為“鏈表”。圖7.3為鏈表的示意圖。

  在圖7.3中,第0個結點稱為頭結點, 它存放有第一個結點的首地址,它沒有數(shù)據(jù),只是一個指針變量。 以下的每個結點都分為兩個域,一個是數(shù)據(jù)域,存放各種實際的數(shù)據(jù),如學號num,姓名name,性別sex和成績score等。另一個域為指針域, 存放下一結點的首地址。鏈表中的每一個結點都是同一種結構類型。例如, 一個存放學生學號和成績的結點應為以下結構:

  struct stu

  { int num;

  int score;

  struct stu *next;

  }

  前兩個成員項組成數(shù)據(jù)域,后一個成員項next構成指針域, 它是一個指向stu類型結構的指針變量。鏈表的基本操作對鏈表的主要操作有以下幾種:

  1.建立鏈表;

  2.結構的查找與輸出;

  3.插入一個結點;

  4.刪除一個結點;

  下面通過例題來說明這些操作。

 << 上一頁  11 12 13 14 15 16 17 18 19 20  ... 下一頁  >> 
文章搜索
版權聲明:如果計算機等級考試網(wǎng)所轉載內(nèi)容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。