[問題] 請問回傳一維陣列的方式

看板C_and_CPP (C/C++)作者 (想唱歌)時間16年前 (2009/06/18 03:47), 編輯推噓3(308)
留言11則, 5人參與, 最新討論串1/1
我想在執行完function時回傳一個存放數字的一維陣列 比如: ??? sub(char) int main() { char a; int result[13]; ??? = sub(a); //要用result[13]來接回傳值 } ??? sub(char a) { int result[13]; return ??? } 請問一下我要怎麼宣告函數跟副程式(???) 還有要怎麼return呢? 麻煩幫我解答一下~~謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.44.61

06/18 04:23, , 1F
用int *當return的資料型態,但是你在sub裡的result是產生在
06/18 04:23, 1F

06/18 04:23, , 2F
堆疊的變數,結論就是,result是放在一個只能暫時存放的地方
06/18 04:23, 2F

06/18 04:25, , 3F
#1AB274Gl (C_and_CPP) 可以參考我在這篇最下面寫的結論
06/18 04:25, 3F

06/18 12:16, , 4F
這種情況, 不要回傳, 傳個 int* 進去比較好吧
06/18 12:16, 4F

06/18 16:59, , 5F
因為我是sub處理完後main要對結果繼續處理 所以必須回傳哩
06/18 16:59, 5F

06/18 17:10, , 6F
a大應該是說, main自己傳一個array的頭進來寫結果....:)
06/18 17:10, 6F

06/18 17:34, , 7F
因為傳 array or pointer 到 fun 當 arg 是 by address
06/18 17:34, 7F

06/18 17:35, , 8F
fun 內改了 main 那邊也改了 那你就能接著處理
06/18 17:35, 8F

06/18 17:43, , 9F
感謝樓上大大解說 我了解了 來試試看
06/18 17:43, 9F

06/18 20:03, , 10F
自己想到一個方法就是把共同變數設成全域變數 這樣就可以同時
06/18 20:03, 10F

06/18 20:04, , 11F
用了 不過可能使用的順序要自己注意 免得不小心被改掉了
06/18 20:04, 11F
文章代碼(AID): #1AEKXd0Y (C_and_CPP)
文章代碼(AID): #1AEKXd0Y (C_and_CPP)