(Byte*)的問題 |
答題得分者是:jow
|
hhmmjj1015
一般會員 發表:16 回覆:4 積分:4 註冊:2007-08-22 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
(1)執行 (Byte*)TheBitmap->ScanLine[y]; 之後會傳回一個記憶體位址.
(2)ptr=(Byte*)(1)傳回的位址, 轉型成 ptr 宣告的型態以便儲存.(其實指標 都是佔用4Byte). //------------------------------------------------------------------------------------------- (Byte*) 用以將指標轉型, (Byte) 用以將資料轉型, 使其存取值為 Byte. (A) 例如: int a = 0xAABBCCDD; byte b = (byte)a; AnsiString s; ShowMessage(s.sprintf("%4.4X", b)); 使用 (byte)a , 只會將 0xDD 傳回, 指定給 b. (B) 例如: byte *p = (byte*)&a; ShowMessage(s.sprintf("%4.4X", *p));//傳回 0xDD p ; ShowMessage(s.sprintf("%4.4X", *p));//傳回 0xCC p ; ShowMessage(s.sprintf("%4.4X", *p));//傳回 0xBB p ; ShowMessage(s.sprintf("%4.4X", *p));//傳回 0xAA 將一個佔4個 Byte 的整數a (int a), 用(byte*)指標方式, 以四個佔1個 Byte 的位於組來看待 int a... ^^ ===================引 用 hhmmjj1015 文 章=================== 我看到了一段程式是這樣寫的 Byte *ptr ; ptr=(Byte*)TheBitmap->ScanLine[y]; 我的問題是~ 1.ptr紀錄的是ScanLine[y]的位址還是內容呀? 2.(Byte*)TheBitmap->ScanLine[y]的(Byte*)跟(Byte)有什麼不同呢? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |