線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1113
推到 Plurk!
推到 Facebook!

請問^與@的使用方法

尚未結案
iecs
一般會員


發表:21
回覆:10
積分:6
註冊:2003-02-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-24 21:03:22 IP:218.170.xxx.xxx 未訂閱
各位大哥: 小弟一直搞不清楚,^與@在Delphi中的意義為何?可否教教小弟一下,謝謝。 其中變數之前加^與變數之後加^,又有何不同?
jimmy_wei
高階會員


發表:9
回覆:176
積分:147
註冊:2003-08-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-24 23:08:44 IP:210.68.xxx.xxx 未訂閱
@是POINTER ^是POINTER的值 偷看看別人的例子 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=57967 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=65051 他把@a放在tlist中 然後用^去改list裡面pointer的值 參考一下吧 發表人 - jimmy_wei 於 2005/02/25 00:09:03
yyu10
中階會員


發表:9
回覆:99
積分:96
註冊:2005-02-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-25 07:14:37 IP:203.14.xxx.xxx 未訂閱
var value, value2: integer; addr: ^integer; // 表明addr将存放一个integer在记忆体中的房间号/地址/Pointer begin value := 10; addr := @value; // @告诉你value在记忆体中的房间号/地址/Pointer, 比如 $1B478. value2 := addr^; // ^告诉你在记忆体中的 $1B478 号房间住的是谁, 在这个例子, 就是10. end; @和^可以算是相反的运算. 發表人 - yyu10 於 2005/02/25 07:16:02
a6475
高階會員


發表:67
回覆:230
積分:154
註冊:2002-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-25 09:25:40 IP:211.23.xxx.xxx 未訂閱
它就是C++的指標啦。 你可以想成宣告就是^ 取值就是 @    ..-----------βλμε------------..
◎Oo月夜 光明 藍更愁oO◎
藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475 發表人 - a6475 於 2005/02/25 09:28:19
------
月夜 光明 藍更愁
a6475
高階會員


發表:67
回覆:230
積分:154
註冊:2002-09-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-25 09:32:37 IP:211.23.xxx.xxx 未訂閱
引言: 它就是C 的指標啦。 你可以想成宣告就是^ 取值就是 @ 其實Delphi把原本該宣告指標的地方都隱藏起來,讓使用者比較容易使用, 不然像 var objBtn : TButton; objBtn := TButton.Create(nil); objBtn.caption := '按鍵'; 寫成 var ^objBtn : TButton; objBtn := TButton.Create(nil); @objBtn.caption := '按鍵'; 這樣子看的多幸苦啊。 Delphi裡使用指標的機會不是很多就是。 ..-----------βλμε------------..
◎Oo月夜 光明 藍更愁oO◎
藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475 發表人 - a6475 於 2005/02/25 09:28:19
..-----------βλμε------------..
◎Oo月夜 光明 藍更愁oO◎
藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475
------
月夜 光明 藍更愁
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-25 18:17:46 IP:211.76.xxx.xxx 未訂閱
a6475 的答案有一些錯誤,提出參考。    @ 是取出變數的在記憶體內的位址
^ 是宣告指標變數    var
   // 宣告位置不正確
   PtrA : ^Byte;
   VarA : Byte;
begin
  VarA := 15;
  
  // 取得變數 VarA 的記憶體位置,並存放在 PtrA 指標變數中
  PtrA := @VarA;
  
  // 這兩種指標變數的用法都是正確的
  if PtrA^ = PtrA then begin
  end;
end;
系統時間:2024-05-19 10:00:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!