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

正文內(nèi)容

c語言動態(tài)數(shù)據(jù)結(jié)構(gòu)(編輯修改稿)

2025-06-16 21:21 本頁面
 

【文章內(nèi)容簡介】 ete 名字指針;例如: ? (1)釋放一個存放整數(shù)的空間: ? 如果 p = new int;則釋放一個存放整數(shù)的空間的語句為: delete p。 ? 執(zhí)行結(jié)果:將該整數(shù)空間釋放掉,即將該資源歸還給系統(tǒng)。 2. delete 運算符: ? (2)釋放一個存放 10個實數(shù)的數(shù)組的空間: ? 如果: p = new float[10];則釋放一個數(shù)組空間的語句為: delete [] p。 ? 執(zhí)行結(jié)果:將該數(shù)組空間釋放掉,即將該資源歸還給系統(tǒng)。 2. delete 運算符: ? new 試圖創(chuàng)建一個名字類型的對象,向系統(tǒng)申請sizeof(名字 )個字節(jié)大小的空間。新對象的生存周期始于創(chuàng)建點,直到 delete將其釋放或到程序結(jié)束。如果申請成功,返回指向新對象的指針;若返回的指針為空指針,表示動態(tài)空間分配失敗。注意: delete只能用于用 new分配的內(nèi)存的釋放。 例 75申請一個結(jié)構(gòu)體類型的存儲空間,用來存放相應類型的數(shù)據(jù)。 解決問題要點: ?包含相關(guān)的頭文件; ?定義一個結(jié)構(gòu)體類型; ?定義結(jié)構(gòu)體類型的變量; ?申請空間; ?對指定空間賦值; ?釋放申請的空間; 程序舉例: ? include ? include ? include ? include ? typedef struct LNode { ? int data。 ? struct LNode *next。 ? } LNode。 ? main() ? { ? LNode *p。 ? p= new LNode。 ? if ( !p ) exit(0)。 ? pdata=10。 ? pnext=NULL。 ? delete p。 ? } 1. new 與 malloc 的相同點是他們的作用都是在程序的執(zhí)行過程中向系統(tǒng)申請存儲空間,返回值都是申請到的存儲空間的首地址,不同點是, malloc 是 c編譯系統(tǒng)提供的標準庫函數(shù), new 是 c++ 系統(tǒng)提供的運算符, new的操作效率要高于 malloc; 2. new不需要使用顯式的 sizeof函數(shù)就能知道名字的大小,而 malloc 需要明確指出所申請的空間的大小 (總的字節(jié)數(shù) ); new 的返回值是指向名字類型的確定的指針類型,不需要強制說明,而 malloc的返回值是一個指向 void類型的指針類型,需要強制轉(zhuǎn)換成指向具體數(shù)據(jù)類型的指針類型。當所申請的空間是一個變量所需的空間時, new 運算符還可以為所申請的空間賦初值, malloc 不具有此功能。 鏈 表 ? 計算機處理數(shù)據(jù)需要兩方面的工作,一方面是對數(shù)據(jù)信息的描述,另一方面是對數(shù)據(jù)的操作,而操作的方式取決于數(shù)據(jù)的描述方式,數(shù)據(jù)的描述方式又取決于數(shù)據(jù)本身固有的內(nèi)在聯(lián)系。這里僅介紹數(shù)據(jù)之間的線性關(guān)系。 ? 對于圖書館的藏書這類數(shù)據(jù)信息可以用一種稱為線性表的動態(tài)數(shù)據(jù)結(jié)構(gòu)來描述。簡單的說,線性表是 n 個數(shù)據(jù)元素的有限序列。各數(shù)據(jù)元素屬于同一數(shù)據(jù)對象,相鄰數(shù)據(jù)元素之間存在序偶關(guān)系。記為: ? ( a1, a2, … , ai, ai+1, … , an) ? 線性表中的數(shù)據(jù)元素之間存在嚴格的順序關(guān)系,有一個唯一的稱為第一個的元素(首元),有唯一的稱為最后一個的元素(尾元),其它元素都有唯一的直接后繼元素和唯一的直接前趨元素。 ? 線性表這種邏輯結(jié)構(gòu)在計算機內(nèi)表示時,可以采用鏈式存儲結(jié)構(gòu),即一個數(shù)據(jù)元素存放于一個結(jié)點中,不同的數(shù)據(jù)元素之間的先后順序用結(jié)點的指針域鏈接。一個結(jié)點就是一個結(jié)構(gòu)體類型的變量。 鏈表的定義 ? 鏈表是表示具有線性關(guān)系的一組數(shù)據(jù)元素的動態(tài)結(jié)構(gòu)。每一個數(shù)據(jù)元素占據(jù)一個獨立申請的存儲空間,這個存儲空間通常是一個結(jié)構(gòu)體型變量,主要包括兩部分,一部分用來存放數(shù)據(jù)元素的值 ——稱為值域,另一部分用來存放一個指向該結(jié)構(gòu)體類型的指針變量值 ——稱為指針域。指針域的作用是存放邏輯上排在本結(jié)點后面的結(jié)點的存儲空間的首地址。 ? 數(shù)據(jù)元素結(jié)點的結(jié)構(gòu)如圖所示: 值域 指針域 ? 若干個結(jié)點首尾相連按照其邏輯順序鏈接成一排,稱為線性鏈表。 ? 單向鏈表如下圖所示: a1 a2 … … an1 an ^ 圖 單向鏈表 1. 鏈表結(jié)點的 C 語句定義 ? 對于鏈表這種數(shù)據(jù)結(jié)構(gòu), ANSI C 中,按如下方式描述: ? 首先用結(jié)構(gòu)體類型描述一個數(shù)據(jù)元素結(jié)點,定義一個結(jié)點類型的語句格式: ? typedef struct LNode{ ? ElemType data; ? struct LNode *next; ? } LNode, *LinkList; 其中: ? typedef 語句定義了一個結(jié)構(gòu)體類型和鏈表類型 ? LNode 是一個結(jié)點的類型名稱。它有兩個成員,一個名稱為 data ,類型為數(shù)據(jù)元素的類型,用來存放一個數(shù)據(jù)元素的值;另一個成員名稱為 next,類型為指向本結(jié)構(gòu)體類型的指針類型,用來
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1