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

看板C_and_CPP (C/C++)作者 (簡簡單單的幸福)時間10年前 (2015/08/09 14:53), 編輯推噓10(10018)
留言28則, 14人參與, 最新討論串1/1
如標題,請問這種宣告變數的方式"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

08/09 15:07, , 1F
1. 指向陣列的指標,2. 指標,3. 二維陣列
08/09 15:07, 1F

08/09 15:41, , 2F
要是我,我不會寫這麼難懂的宣告來SM自己
08/09 15:41, 2F

08/09 15:42, , 3F
我會寫int* a[10];
08/09 15:42, 3F

08/09 15:46, , 4F
這好像不太一樣 (?
08/09 15:46, 4F

08/09 15:50, , 5F
看了一堆MSDN,也沒看過這種宣告法,我也想不懂
08/09 15:50, 5F

08/09 16:14, , 6F
int *a[10]跟int (*a)[10]是不一樣的啊
08/09 16:14, 6F

08/09 16:14, , 7F
前者有10個指標,後者只有一個指標
08/09 16:14, 7F

08/09 16:19, , 8F
XDDDD
08/09 16:19, 8F

08/09 16:25, , 9F
是宣告一個準備指向int[10]陣列的指標嗎?
08/09 16:25, 9F

08/09 17:05, , 10F
How to interpret complex C/C++ http://goo.gl/JdDT0M
08/09 17:05, 10F

08/09 17:57, , 11F
考試時會用到
08/09 17:57, 11F

08/09 19:34, , 12F
因為int foo(int (*a)[10])比foo(int a[10])來得好一點
08/09 19:34, 12F

08/09 20:39, , 13F
耶.. 我覺得這好像不只考試會用到 @@ 要寫入資料庫的字
08/09 20:39, 13F

08/09 20:40, , 14F
串我會先用 typedef TCHAR DBString[255];
08/09 20:40, 14F

08/09 20:41, , 15F
相關的 Pointer 做 typedef 就會用到 ?
08/09 20:41, 15F


08/10 11:09, , 17F
很常用到阿 在 C 裡面傳陣列參數 只有指標一徒阿
08/10 11:09, 17F

08/10 11:10, , 18F
就算是 C++ reference 參數也是寫 int (&a)[10] 都類似
08/10 11:10, 18F

08/10 14:16, , 19F
這是很基本的指標吧 弄不懂會造成程式大爆炸
08/10 14:16, 19F

08/10 14:18, , 20F
int *a[10] 是陣列 int (*a)[10] 是指標
08/10 14:18, 20F

08/10 14:19, , 21F
別無視括號的存在好嗎
08/10 14:19, 21F

08/11 03:31, , 22F
每格幾年這種問題就循環一次 XD
08/11 03:31, 22F

08/11 03:31, , 23F
08/11 03:31, 23F

08/11 03:32, , 24F
其實自己實驗看看,編譯的時候 warning 全開,再想辦法弄
08/11 03:32, 24F

08/11 03:32, , 25F
到 warning 不見,然後去想為什麼,就會一次記起來了。
08/11 03:32, 25F

08/11 03:33, , 26F
當然前提是用正常的方法讓 warning 不見 XD
08/11 03:33, 26F

08/13 15:31, , 27F
不敢在版上賣弄,回您信箱可供參考
08/13 15:31, 27F

08/18 22:17, , 28F
是我不會寫這麼難的東西虐待自己欸
08/18 22:17, 28F
文章代碼(AID): #1LnlZWFs (C_and_CPP)
文章代碼(AID): #1LnlZWFs (C_and_CPP)