全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1620
推到 Plurk!
推到 Facebook!

關於Byte*的用法

答題得分者是:taishyang
hhmmjj1015
一般會員


發表:16
回覆:4
積分:4
註冊:2007-08-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-20 15:52:25 IP:140.115.xxx.xxx 訂閱
我再書本上看到一段程式,是用來水平翻轉圖片的,其中有一段不是很了解,以下
--
Byte *ptr1,*ptr2;
for(int y=0;y < Height ; y )

{
ptr1= (Byte*) TempBitmap->ScanLine[y];
ptr2= (Byte*) TheBitmap->ScanLine[y];
for(int x=0;x < Width ; x )
ptr1[x]=ptr2[Width-1-x];

}
--
我有問題的就是畫底線的地方
1.Byte*是什麼意思呢?
2.為什麼ptr1,ptr2原本只是指標變數,但是在for迴圈裡
會出現陣列呢?

麻煩大家了
------
hello
編輯記錄
hhmmjj1015 重新編輯於 2007-09-20 15:53:19, 註解 無‧
hhmmjj1015 重新編輯於 2007-09-20 15:53:53, 註解 無‧
hhmmjj1015 重新編輯於 2007-09-20 15:54:22, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-20 18:59:28 IP:122.124.xxx.xxx 未訂閱
1.Byte*是什麼意思呢?

Byte* ptr1;

變數ptr1是一個指標,資料型態是Byte
因為Scanline回傳的是(void*)型態,所以要轉型成(Byte*)型態,ptr1才能被assign

2.為什麼ptr1,ptr2原本只是指標變數,但是在for迴圈裡
會出現陣列呢?

ptr1[x]意思等同於 *(ptr1 x)
系統時間:2024-05-02 18:52:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!