




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、指指 針針 指針是通過地址來訪問變量的一種特殊的數(shù)據(jù)指針是通過地址來訪問變量的一種特殊的數(shù)據(jù)類型,屬于動態(tài)的數(shù)據(jù)結(jié)構(gòu),它可以在需要時類型,屬于動態(tài)的數(shù)據(jù)結(jié)構(gòu),它可以在需要時產(chǎn)生,用完后則又可以取消或回收,以減少占產(chǎn)生,用完后則又可以取消或回收,以減少占用的內(nèi)存空間。指針變量與其他類型的變量不用的內(nèi)存空間。指針變量與其他類型的變量不同,它占有的不是數(shù)據(jù),而是地址。同,它占有的不是數(shù)據(jù),而是地址。由于動態(tài)數(shù)據(jù)結(jié)構(gòu)的變量是在程序執(zhí)行過由于動態(tài)數(shù)據(jù)結(jié)構(gòu)的變量是在程序執(zhí)行過程中動態(tài)生成的,所以不能預(yù)先予以說明,無程中動態(tài)生成的,所以不能預(yù)先予以說明,無法預(yù)先給這些變量起名字,訪問時也無法通過法預(yù)先給這些
2、變量起名字,訪問時也無法通過名字直接輸出或顯示,而只能用指針得到其地名字直接輸出或顯示,而只能用指針得到其地址,然后間接訪問。址,然后間接訪問。 1、定義指針類型、定義指針類型 在在Turbo Pascal中,指針變量用來存放某個存儲單元的地址,中,指針變量用來存放某個存儲單元的地址,即指針變量指向某個存儲單元。一個指針變量僅能指向某一即指針變量指向某個存儲單元。一個指針變量僅能指向某一種類型的存儲單元,這種數(shù)據(jù)類型是在指針類型的定義中確種類型的存儲單元,這種數(shù)據(jù)類型是在指針類型的定義中確定的,稱為指針類型的基類型。指針類型定義如下:定的,稱為指針類型的基類型。指針類型定義如下:類型名類型名基
3、類型名;基類型名;例如:例如:type q=integer;var a,b,c:q;說明:說明:q是一指向整型存儲單元的指針類型,其中是一指向整型存儲單元的指針類型,其中“”為指針為指針符。符。a,b,c均定義為指針變量,分別可以指向一個整型存儲均定義為指針變量,分別可以指向一個整型存儲單元。單元。 上例也可用變量說明為:上例也可用變量說明為:var a,b,c:integer;2、動態(tài)變量、動態(tài)變量應(yīng)用一個指針指向的動態(tài)存儲單元即動態(tài)變量的形式應(yīng)用一個指針指向的動態(tài)存儲單元即動態(tài)變量的形式如下:指針變量名如下:指針變量名例如:例如:p、q、r以下語句把整數(shù)以下語句把整數(shù)5存放到存放到p所指向
4、的動態(tài)變量所指向的動態(tài)變量p中去:中去: p:=5;以下語句把以下語句把p所指向的所指向的p中的值賦給整型變量中的值賦給整型變量i: i:=p;如果指針變量如果指針變量p并未指向任何存儲單元,則可用下列并未指向任何存儲單元,則可用下列賦值語句:賦值語句: p:=nil;其中其中nil是保留字,表示是保留字,表示“空空”,相當(dāng)于,相當(dāng)于C語言里面的語言里面的null 3、對動態(tài)變量的操作、對動態(tài)變量的操作在Turob Pascal程序中,動態(tài)變量不能由var直接定義而是通過調(diào)用標(biāo)準(zhǔn)過程new建立的。過程形式為:new(指針變量名指針變量名);如果有下列變量定義語句:var p: integer;
5、僅僅說明了p是一個指向整型變量單元的指針變量,但這個整型單元并不存在,在指針變量p中還沒有具體的地址值。在程序中必須通過過程調(diào)用語句:new(p);才在內(nèi)存中分配了一個整型變量單元,并把這個單元的地址放在變量p中,一個指針變量只能存放一個地址。在同一時間內(nèi)一個指針只能指向一個變量單元。當(dāng)程序再次執(zhí)行new(p)時,又在內(nèi)存中新建立了一個整型變量單元,并把新單元的地址存放在p中,從而丟失了舊的變量單元的地址。為了節(jié)省內(nèi)存空間,對于一些已經(jīng)不使用的現(xiàn)有動態(tài)變量,應(yīng)該使用標(biāo)準(zhǔn)過程dispose予以釋放。過程形式為:dispose(指針變量名指針變量名);為new(指針變量名)的逆過程,其作用是釋放由
6、指針變量所指向的動態(tài)變量的存儲單元。例如在用了new(p)后在調(diào)用dispose(p),則指針p所指向的動態(tài)變量被撤銷,內(nèi)存空間還給系統(tǒng),這時p的值為 nil。 4需要注意之處需要注意之處 1、P與與P的區(qū)別的區(qū)別P是指向該動態(tài)變量的指針變量名,是指向該動態(tài)變量的指針變量名,P則稱為動態(tài)變則稱為動態(tài)變量或標(biāo)志變量。量或標(biāo)志變量。P的值是的值是P的首地址,的首地址,P的值為與基類型的值為與基類型相同的一個值。相同的一個值。2、定義后及時分配存儲單元、定義后及時分配存儲單元定義了一個指針變量后,并沒有為該指針分配動態(tài)存定義了一個指針變量后,并沒有為該指針分配動態(tài)存儲單元,此時的儲單元,此時的P的值無定義,調(diào)用的值無定義,調(diào)用P則會產(chǎn)生運行錯誤。則會產(chǎn)生運行錯誤。若想使該指針可用,可以對指針賦值,也可以通過若想使該指針可用,可以對指針賦值,也可以通過NEW()()過程分配存儲單元。過程分配存儲單元。3、使用后及時收回存儲單元、使用后及時收回存儲單元指針使用后,不會自動歸還占用的存儲空間,
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源汽車電機智能制造裝備企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 農(nóng)田挖掘機械企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 箱式烤爐企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 紡織裝備企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 雙柱汽錘企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 有機硅環(huán)體企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 割曬機企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 石棉紙基摩擦材料企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 2025年電氣裝備線纜項目發(fā)展計劃
- 人教版一年級下冊《遠(yuǎn)古的信息》教案
- 【素養(yǎng)目標(biāo)】人教版數(shù)學(xué)八年級下冊19.1.2.2 函數(shù)的表示方法教案
- 綠色建筑工程監(jiān)理實施細(xì)則
- 人教版地理八年級下冊《第二節(jié) 干旱的寶地──塔里木盆地》說課稿1
- (完整文本版)日文履歷書(文本テンプレート)
- DL∕T 1210-2013 火力發(fā)電廠自動發(fā)電控制性能測試驗收規(guī)程
- 浙江省2024年中考數(shù)學(xué)試卷(含答案)
- 湖南省常德市2023-2024學(xué)年八年級下學(xué)期期末考試歷史試題(無答案)
- 挖掘鏟運和樁工機械司機(技師)考試復(fù)習(xí)題庫(含答案)
- 古詩詞誦讀《客至》《賓至》聯(lián)讀課件統(tǒng)編版高中語文選擇性必修下冊
- (高清版)JTGT 5214-2022 在用公路橋梁現(xiàn)場檢測技術(shù)規(guī)程
- 浙江省紡織服裝出口面臨的問題及應(yīng)對措施
評論
0/150
提交評論