[問題] int (*a)[10];

作者: jba (簡簡單單的幸福)   2015-08-09 14:53:17
如標題,請問這種宣告變數的方式"int (*a)[10];"
1. 意義為何?
2. 實作方式?
3. 使用時機?
請版友們解惑了,謝謝!
作者: Feis (永遠睡不著 @@)   2015-08-09 15:07:00
1. 指向陣列的指標,2. 指標,3. 二維陣列
作者: stupid0319 (徵女友)   2015-08-09 15:41:00
要是我,我不會寫這麼難懂的宣告來SM自己我會寫int* a[10];
作者: Feis (永遠睡不著 @@)   2015-08-09 15:46:00
這好像不太一樣 (?
作者: stupid0319 (徵女友)   2015-08-09 15:50:00
看了一堆MSDN,也沒看過這種宣告法,我也想不懂
作者: tjjh89017 (伊達政宗)   2015-08-09 16:14:00
int *a[10]跟int (*a)[10]是不一樣的啊前者有10個指標,後者只有一個指標
作者: kwpn (ITSST)   2015-08-09 16:19:00
XDDDD
作者: stupid0319 (徵女友)   2015-08-09 16:25:00
是宣告一個準備指向int[10]陣列的指標嗎?
作者: LiloHuang (十年一刻)   2015-08-09 17:05:00
How to interpret complex C/C++ http://goo.gl/JdDT0M
作者: damody (天亮damody)   2015-08-09 17:57:00
考試時會用到
作者: kevingwn (如雲如風的人生)   2015-08-09 19:34:00
因為int foo(int (*a)[10])比foo(int a[10])來得好一點
作者: EdisonX (卡卡獸)   2015-08-09 20:39:00
耶.. 我覺得這好像不只考試會用到 @@ 要寫入資料庫的字串我會先用 typedef TCHAR DBString[255];相關的 Pointer 做 typedef 就會用到 ?
作者: naikojack (築夢 逐夢 go~)   2015-08-10 09:25:00
作者: nowar100 (拋磚引玉)   2015-08-10 11:09:00
很常用到阿 在 C 裡面傳陣列參數 只有指標一徒阿就算是 C++ reference 參數也是寫 int (&a)[10] 都類似
作者: stonehomelaa (清新、健康、專業)   2015-08-10 14:16:00
這是很基本的指標吧 弄不懂會造成程式大爆炸int *a[10] 是陣列 int (*a)[10] 是指標別無視括號的存在好嗎
作者: tinlans ( )   2015-08-11 03:31:00
每格幾年這種問題就循環一次 XD隔其實自己實驗看看,編譯的時候 warning 全開,再想辦法弄到 warning 不見,然後去想為什麼,就會一次記起來了。當然前提是用正常的方法讓 warning 不見 XD
作者: HolyBugTw (HolyBug)   2015-08-13 15:31:00
不敢在版上賣弄,回您信箱可供參考

Links booklink

Contact Us: admin [ a t ] ucptt.com