void ** 如何解釋 |
答題得分者是:JackyChang
|
energybody
一般會員 發表:44 回覆:32 積分:15 註冊:2007-04-12 發送簡訊給我 |
小弟是BCB 6 初學者,對一些程式看不懂,尤其是指標,能否請各位大大幫忙解釋一下,感謝!
void MeanImage( Byte **srcImg, Byte **DstImg, int Left, int Top, int Right, int Bottom, int MaskLenght ); -------------->Byte ** srcimg 是什麼意思? void* LENS_IP::new2D( int Width, int Height, int size ) ===========> void * 是什麼意思? void **p; ===============>void **p 是什麼意思? p = (void**) new char[ Height *sizeof(void*) Height*Width*size ];===========>sizeof(void*)是什麼意思? (void**)會轉成什麼? for(int i=0; i p[i] = ((char *)( p Height) ) i * Width * size; return p;=============>void * 不是不回傳值, 為何要 return p? 編輯記錄
energybody 重新編輯於 2010-10-08 14:02:06, 註解 無‧
energybody 重新編輯於 2010-10-08 14:03:13, 註解 無‧ energybody 重新編輯於 2010-10-08 14:03:48, 註解 無‧ energybody 重新編輯於 2010-10-08 14:06:29, 註解 無‧ energybody 重新編輯於 2010-10-08 14:30:36, 註解 無‧ |
JackyChang
一般會員 發表:0 回覆:1 積分:5 註冊:2011-01-15 發送簡訊給我 |
===================引 用 energybody 文 章=================== 小弟是BCB 6 初學者,對一些程式看不懂,尤其是指標,能否請各位大大幫忙解釋一下,感謝! void MeanImage( Byte **srcImg, Byte **DstImg, int Left, int Top, int Right, int Bottom, int MaskLenght ); -------------->Byte ** srcimg 是什麼意思? void* LENS_IP::new2D( int Width, int Height, int size ) ===========> void * 是什麼意思? void **p; ===============>void **p 是什麼意思? p = (void**) new char[ Height *sizeof(void*) Height*Width*size ];===========>sizeof(void*)是什麼意思?(void**)會轉成什麼? for(int i=0; i p[i] = ((char *)( p Height) ) i * Width * size; return p;=============>void * 不是不回傳值, 為何要 return p? * 就是指標 (pointer) 的意思,而 void 就是 any type,也就是可以不管任何的資料型別,因此 void * 你可以從右往左看, "void *" 就是一個 pointer,這個 pointer 指向任何的資料。一般 pointer 在宣告時指定指向的資料型別時,pointer 的遞加(減)運算子, 如 ,-- 等就可以由 Compiler 來計算位移的大小,舉例而言, char *p; p 被定義成指向字元的指標,那 p ; 就是把 p 這個變數 (不是 p 指的字元,如果要的是 p 所指的字元,就要用 *p)的值(會是一個 address)加一個 byte,因為一個 char 佔 1 byte,依此 類推,int *p; p ; 就是把 P 加 4 bytes。 "void **" 用了雙層的指標,因此 void **p; p 就是一個指標(右邊的第一個 *),這個指標指向一個 void *, 換句話說,p 就是一個指標,這個指標指向一個可以指向任何資料型別的指標(左邊的第一個指標)。 void* LENS_IP::new2D( int Width, int Height, int size ) 既然宣告了要回傳一個指向任何資料型別的指標,所以 最後 return p 才是正確的。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |