久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

delphi 指針操作

 貌似小白 2013-01-22

指針是存放指定類型(或未定義類型)變量內(nèi)存地址的變量,因此指針間接引用一個值,。定義指針不需用特定的關(guān)鍵字,,而用一個特殊字符,這個特殊字符是脫字符號(^),,見下例:

type
  PointerToInt = ^Integer;

一旦你定義了指針變量,,你就可以用@ 符號把另一個相同類型變量的地址賦給它。見下例:

var
  P: ^Integer;
  X: Integer;
begin
  P := @X;
  // change the value in two different ways
  X := 10;
  P^ := 20;  

如果定義了一個指針P,,那么P表示指針?biāo)赶虻膬?nèi)存地址,而P^表示內(nèi)存所存儲的實際內(nèi)容,。因此,,在上面的代碼中, P^ 與X相等,。

除了表示已分配內(nèi)存的地址外,,指針還能通過New 例程在堆中動態(tài)分配內(nèi)存,不過當(dāng)你不需要這個指針時,,你也必須調(diào)用Dispose 例程釋放你動態(tài)分配的內(nèi)存,。

var
  P: ^Integer;
begin
  // initialization
  New (P);
  // operations
  P^ := 20;
  ShowMessage (IntToStr (P^));
  // termination
  Dispose (P);
end;

如果指針沒有值,你可以把nil 賦給它,。這樣,,你可以通過檢查指針是否為nil 判斷指針當(dāng)前是否引用一個值。這經(jīng)常會用到,,因為訪問一個空指針的值會引起一個訪問沖突錯誤,,也就是大家知道的“一般保護錯”(GPF)。

Delphi 還定義了一個Pointer 數(shù)據(jù)類型,,它表示無類型的指針(就象C語言中的void* ),。如果你使用無類型指針,你應(yīng)該用GetMem 例程,,而不是New例程,,因為GetMem 例程能用于內(nèi)存分配大小不確定的情況。

實際上,,Delphi 中必須使用指針的情況很少,,這是Delphi開發(fā)環(huán)境一個誘人的優(yōu)點。雖然如此,,若要進行高級編程和完全理解Delphi 對象模型,,理解指針是很重要的,因為Delphi 對象模型在幕后使用了指針。

注意:雖然在Delphi中不常使用指針,,但是你經(jīng)常會用一個極為相似的結(jié)構(gòu)--引用(references),。每個對象實例實際上是一個隱含的指針,或說是對其實際數(shù)據(jù)的引用,,利用引用,,你能象用其他數(shù)據(jù)類型一樣使用對象變量。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多