[問題]初學指標/函數指標的問題

看板C_and_CPP作者 (QQ)時間8年前 (2017/08/12 18:34), 編輯推噓0(0015)
留言15則, 3人參與, 最新討論串1/3 (看更多)
開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) MinGW 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) NA 問題(Question): 書中學習題要求使用包含函數指標的程式,要求包括Sum()/Func1()/Func2() 其中Func1/Func2分別產生一個二為矩陣{{1,2,3},{4,5,6}}和{{2,4,6},{8,10,12}} 最後使用Sum()呼叫Func1/Func2作為參數求矩陣和 餵入的資料(Input): 預期的正確結果(Expected Output): 正確但是Sum()吃的感覺不是指標函數而是矩陣...是因為我把Func1/2回傳矩陣做檢查 導致type變成二維指標嗎? 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/vbZdujDI 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.200.9 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1502534085.A.95A.html

08/12 19:22, , 1F
你的Func1、Func2就只是普通的int **,不是換個名字就變
08/12 19:22, 1F

08/12 19:22, , 2F
函數指標了
08/12 19:22, 2F

08/12 21:00, , 3F
Func1/Func2是函數沒錯,是Sum用指標函數呼叫Func1/Func2
08/12 21:00, 3F

08/12 21:01, , 4F
但是因為Func1已經做成回傳矩陣(int **),不知道在Sum中
08/12 21:01, 4F

08/12 21:02, , 5F
要怎麼呼叫....現在看起來是被我直接寫成矩陣嗎?
08/12 21:02, 5F

08/12 21:17, , 6F
你應該是寫成矩陣了,函數指標我記得宣告應該是用int **
08/12 21:17, 6F

08/12 21:17, , 7F
(*func)(int)
08/12 21:17, 7F

08/12 23:18, , 8F
感謝Lipraxde大,但是這樣在Sum裡面就無法提取Func的矩陣
08/12 23:18, 8F

08/12 23:18, , 9F
做運算了?如果要再另外給一個指標不是喪失當初用指標傳
08/12 23:18, 9F

08/12 23:19, , 10F
進去節省的空間?我現在一直腦袋轉不過來...
08/12 23:19, 10F

08/13 01:25, , 11F
你傳函數指標到sum裡,就在裡面算,有點像python的產生
08/13 01:25, 11F

08/13 01:25, , 12F
器的感覺
08/13 01:25, 12F

08/17 22:31, , 13F
沒時間細看 大概看一下 尤其是L30 很明顯觀念有問題
08/17 22:31, 13F

08/17 22:32, , 14F
我建議你先跳過這題 會了這題並不會有很大實質上的意義
08/17 22:32, 14F

08/17 22:33, , 15F
這題的出題者有點像是為了考試而考試吧
08/17 22:33, 15F
文章代碼(AID): #1PZjd5bQ (C_and_CPP)
文章代碼(AID): #1PZjd5bQ (C_and_CPP)