[問題] 陣列input進函式的基本問題

看板C_and_CPP作者 (宋代才女唱元曲)時間13年前 (2011/07/21 21:52), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
放暑假, 書都丟在學校沒辦法查找, 之前也沒有學好.... 只好厚顏上版來請教大大們基礎的問題, 懇請教學! 請問 我想將一個陣列的值輸入一個函式計算, 請問要如何辦到呢? 以下是我隨意打出來的函式 void gmail(int *abc[10][20]) { for(int x;x<10;x++) { for(int y;y<20;y++) { abc[x][y]=0; // (a) } } } int main() { int bcd[10][20]={0}; gmail(bcd[][]); // (b) } 這個程式碼功能基本上只是把bcd裡頭的0改為1這樣而已 在compile的時候註解(a)的地方常常都會不給通過, 遇到 「cannot convert 'int' to 'int * (*)[20]'」 的錯誤 請問語法上我要怎麼樣宣告才會正確呢? 另外註解(b)的地方 請問我要在bcd的[][]中填入什麼, 才能不在主函式中使用迴圈就把bcd的值依序input進函式中呢? 如果問題有說不清楚的, 請跟我說, 事實上這個問題之前也曾困惑過我 只是我避免使用input陣列進函式的方式, 於是一直沒有解惑 謝謝大家! --

03/11 02:01,
想做尹志平kobe小龍女
03/11 02:01

03/11 02:01,
張無忌根本沒有主見,無法做出選擇
03/11 02:01

03/11 02:01,
我有段譽的臉孔蕭峰的身高郭靖的品格陳家落的瀟灑
03/11 02:01

03/11 02:02,
被閹掉的尹志平
03/11 02:02

03/11 02:02,
4樓要當仙根 ?
03/11 02:02

03/11 02:02,
我有段譽的天然蕭峰的命運郭靖的智商陳家落的無能
03/11 02:02
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.163.180 ※ 編輯: potter1529 來自: 112.104.163.180 (07/21 21:53)

07/21 21:55, , 1F
搞清楚 (*ptr)[10] 跟 *ptr[10] 的差別吧.....
07/21 21:55, 1F

07/21 21:55, , 2F
前幾篇回答的:http://codepad.org/n6f6DjrA 類似觀念
07/21 21:55, 2F

07/21 21:56, , 3F
可以看看置底13戒的第12條,以及 #1E9iw7xl 這篇的討論
07/21 21:56, 3F

07/21 22:13, , 4F
1樓, 請問這兩者的差別在哪裡呢?
07/21 22:13, 4F

07/21 22:14, , 5F
謝謝2樓, 有點看得霧煞煞, 我再看久一點試試..
07/21 22:14, 5F

07/21 22:17, , 6F
總之你的程式就是改成這樣 http://pastie.org/2248684
07/21 22:17, 6F

07/21 22:26, , 7F
請問(abc[][2]) 跟(int (*abc)[20] )意義分別是什麼呢?
07/21 22:26, 7F

07/22 10:43, , 8F
(ptr*)[x]; 是一個指標, 指向一個二維陣列的起始元素
07/22 10:43, 8F
文章代碼(AID): #1EA2yory (C_and_CPP)