@:取址運算子;
var intval:integer;
p:^integer;
new(p); //申請記憶體空間
intval:=24;
p:=@intval; //取變數 intval 的位址賦值給 整形指標,整形指標指向intval的位址
dispose(p);//釋放記憶體
^:指標的引用解析操作符;
var pint:^integer;//取整形指標
new(pint); //
showmessage(inttohex(integer(@pint),8));
pint^:=$ff;
showmessage(inttohex(pint^,4));
1.當它出現在型別識別符號之前,如 ^typename 表示乙個型別,該型別表示指向typename型別變數的指標。
2.當它出現在指標變數之後,如pointer^ 該符號對指標解除參照,也就是說,返回儲存在記憶體位址(該位址儲存在指標中)的值指標指向的資料.
var i: integer; pi: ^integer;
begin
i := 10;//將10賦值給i
pi := @i;//取i的位址賦值給指標pi
pi^ := 20; //將20賦值給 pi指標指向位址裡面的資料
i := pi^; //取出pi指標指向位址裡面的資料 賦值給i
end;
pint:^string;在這裡將^放在資料型別之前,說明是宣告的字串指標型別,如果想取出指標引用的值的話,就將^放在宣告的型別後就可以了,比如:pint^ ;
想取pint型別的所引用位址的話,就將@放在之前就可以了,比如:@pint;
取指標值的方法,比如y:=p^; 就是指為y賦值指標p裡面的值(資料)
x:=$11;//$是取16進製制 意思是取整數11的十六進製制
edit1.text:=inttostr(x) ;//inttostr整數轉換字串 edit顯示的是17
type
rtestinfo = record //定義乙個結構體 成員只有乙個 age
age:integer;
end;
ptestinfo = ^ rtestinfo; //定義結構體指標
vartest1,test2:ptestinfo; //宣告兩個指標變數
begin
new(test1);//申請空間
test1^.age:=12;
test2:=test1;// 重點 這裡是將test1的位址賦值給test2 說明 test1和 test2指向了同乙個位址,也可以說是將test2儲存了乙份test1的起始位址
dispose(test2);//釋放空間
end;
c 入門學習筆記指標篇上
指標優點 1。為函式提供修改呼叫變元的手段 2。支援c 動態分配子程式 3。可以改善某些子程式的效率 4。為動態資料結構 如二叉樹 鍊錶 提供支援 注 指標為程式引入了一層間接性,可以操控指標而不直接操控物件。1。可操控指標內含的位址也可操控指標所指的物件 2。指標可能並不指向任何物件,寫 pi時,...
delphi學習筆記 TADOQuery
delphi 資料庫查詢 tadoquery 在乙個程式中你會多次查詢資料庫的,因此在你寫的查詢方法中定義乙個區域性的adoquery就可以了,它返回乙個資料集 recordset。最簡單的應用如下 function getdata recordset 獲取一張表中的全部資料 recordset是一...
Delphi指標認識
大家都認為,c語言之所以強大,以及其自由性,很大部分體現在其靈活的指標運用上。因此,說指標是c語言的靈魂,一點都不為過。同時,這種說法也讓很多人 產生誤解,似乎只有c語言的指標才能算指標。basic不支援指標,在此不論。其實,pascal語言本身也是支援指標的。從最初的pascal發展至今的obje...