看板 C_and_CPP 關於我們 聯絡資訊
如標題,請問這種宣告變數的方式"int (*a)[10];" 1. 意義為何? 2. 實作方式? 3. 使用時機? 請版友們解惑了,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.115.104.40 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1439103200.A.3F6.html
Feis: 1. 指向陣列的指標,2. 指標,3. 二維陣列 08/09 15:07
stupid0319: 要是我,我不會寫這麼難懂的宣告來SM自己 08/09 15:41
stupid0319: 我會寫int* a[10]; 08/09 15:42
Feis: 這好像不太一樣 (? 08/09 15:46
stupid0319: 看了一堆MSDN,也沒看過這種宣告法,我也想不懂 08/09 15:50
tjjh89017: int *a[10]跟int (*a)[10]是不一樣的啊 08/09 16:14
tjjh89017: 前者有10個指標,後者只有一個指標 08/09 16:14
kwpn: XDDDD 08/09 16:19
stupid0319: 是宣告一個準備指向int[10]陣列的指標嗎? 08/09 16:25
LiloHuang: How to interpret complex C/C++ http://goo.gl/JdDT0M 08/09 17:05
damody: 考試時會用到 08/09 17:57
kevingwn: 因為int foo(int (*a)[10])比foo(int a[10])來得好一點 08/09 19:34
EdisonX: 耶.. 我覺得這好像不只考試會用到 @@ 要寫入資料庫的字 08/09 20:39
EdisonX: 串我會先用 typedef TCHAR DBString[255]; 08/09 20:40
EdisonX: 相關的 Pointer 做 typedef 就會用到 ? 08/09 20:41
nowar100: 很常用到阿 在 C 裡面傳陣列參數 只有指標一徒阿 08/10 11:09
nowar100: 就算是 C++ reference 參數也是寫 int (&a)[10] 都類似 08/10 11:10
stonehomelaa: 這是很基本的指標吧 弄不懂會造成程式大爆炸 08/10 14:16
stonehomelaa: int *a[10] 是陣列 int (*a)[10] 是指標 08/10 14:18
stonehomelaa: 別無視括號的存在好嗎 08/10 14:19
tinlans: 每格幾年這種問題就循環一次 XD 08/11 03:31
tinlans: 隔 08/11 03:31
tinlans: 其實自己實驗看看,編譯的時候 warning 全開,再想辦法弄 08/11 03:32
tinlans: 到 warning 不見,然後去想為什麼,就會一次記起來了。 08/11 03:32
tinlans: 當然前提是用正常的方法讓 warning 不見 XD 08/11 03:33
HolyBugTw: 不敢在版上賣弄,回您信箱可供參考 08/13 15:31
qookennylin: 是我不會寫這麼難的東西虐待自己欸 08/18 22:17