typedef 的問題~ |
答題得分者是:harpist
|
ldd
一般會員 發表:12 回覆:62 積分:19 註冊:2004-07-06 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
<textarea class="cpp" rows="10" cols="60" name="code">
//---------------------------------------------------------------------------
typedef char (*FRPTC())[5];
FRPTC* Func()
{
char *a = "0123456789ABCDE";
return reinterpret_cast
這樣您是否有看出端倪
------
~§~迷時師渡,悟了自渡~§~
編輯記錄
harpist 重新編輯於 2007-06-09 05:39:12, 註解 無‧
|
ldd
一般會員 發表:12 回覆:62 積分:19 註冊:2004-07-06 發送簡訊給我 |
Dear harpist
感謝你的回覆,也感謝你能貼出smaple code給我觀摩~ 從你給的範例看起是回傳shift 5的陣列位址 pFunc()[0] return &a[0]; pFunc()[1] return &a[5]; ... 但是我是看不太出來這樣宣告出來的原理是如何做到的??? 如果可以是否可以進一步的解釋,或者查詢哪些keyword可以找到相關資料 因為我打 typedef and function找出來的東西 都是跟function pointer有關 這類的宣告以及用法比較少點~ 再次感謝你的指導 Thanks. |
yshihyu
一般會員 發表:23 回覆:18 積分:8 註冊:2006-11-28 發送簡訊給我 |
===================引 用 ldd 文 章=================== 請問一下 下面的宣告是用在哪些地方 有沒有code可以參考? typedef char ( *FRPTC( ) )[5]; 書上寫說 FRPTC會是一個回傳指向五個元素的char 陣列的函數型態指標。 但是有看沒有懂 有沒有高手幫我解惑~以及如何使用類似這樣的宣告? Thanks. ________________________________________________________________________________ 這樣應該是不合法的宣告吧 , FRPTC會是一個回傳指向五個元素的char 陣列的函數型態指標 函式不能回傳(return) 陣列 ... 謝謝
編輯記錄
yshihyu 重新編輯於 2007-06-11 03:34:58, 註解 無‧
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
|
yshihyu
一般會員 發表:23 回覆:18 積分:8 註冊:2006-11-28 發送簡訊給我 |
===================引 用 harpist 文 章=================== TO:yshihyu 思考一下函式回傳的是指標還是陣列呢?怎麼變成陣列的?是在何時發生的? typedef char *Func(); typedef char (*Func)(); 兩者有何不同? TO:ldd typedef char (*FRPTC())[5]; 一個 FRPTC 函式傳回 char 指標指向一個長度為5的陣列。 _____________________________________________________ harpist 你好 我沒仔細看 typedef char (*FRPTC())[5]; 只看ldd的解釋 FRPTC會是一個回傳指向五個元素的char 陣列的函數型態指標 , 這樣解釋好像說成 FRPTC是函式指標 ,回傳五個元素的char 陣列 FRPTC 應該只是函式 , 沒傳入任何參數 ,回傳指向五個元素的char 陣列 char 指標 FRPTC 函式傳回 char 指標指向一個長度為5的陣列 // 這樣解釋 , typedef char (*FRPTC())[5]; 就對了 謝謝 |
ldd
一般會員 發表:12 回覆:62 積分:19 註冊:2004-07-06 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
陣列只是形於外的表不必過執,不仿單純看作一種定址的方法。
範例只是用來表達的圖像,至於這樣宣告有何作用及使用場合, 在下認為也不需執著,當你需要的時候他就會出現在你的程式碼 裡 ===================引 用 ldd 文 章=================== 今天想了一下~ 或許將其想成類似 char (*pa)[5] ; 或許比較好想像一點 感覺上面的?範例有點把一維陣列當成二維陣列來看待~ 如果真是如此 不曉得是否類似這樣的宣告有何作用?? 用於哪些場合?? 但是不曉得是否講的通 煩請高手指教,指點迷津~
------
~§~迷時師渡,悟了自渡~§~
編輯記錄
harpist 重新編輯於 2007-06-12 15:06:12, 註解 錯字@@‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |