[問題] C語言中如何回傳function中的陣列

看板Programming作者 (severus)時間14年前 (2010/05/03 19:18), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
我寫一個function,要把一個陣列A傳進去 並在function中也定義另一個陣列C 之後經過一連串的動作之後要回傳陣列C 以pointer B接收回傳回來的陣列C的位址 最後印出陣列C所有的數值 簡化過的程式碼如下 int main() { int array_a[]; int *array_b; array_b = function(array_a); for loop {printf("%d", array_b[i]);} } int function(int *array_a) { int array_c[]; ...... (中間省略) ...... return array_c; } 但是程式碼還是有BUG 請問要怎麼修改呢? 我記得傳入陣列位址可以用陣列的名稱表示 不用加"&" 但是以上程式碼把所有陣列改成一般變數 ex: int x; 然後pointer B改成一般變數 這樣又可以了 所以搞不懂為什麼陣列反而不行 --

01/08 20:41,
我請香港女助理幫我看一下飛機 結果她...
01/08 20:41

01/08 20:44,
氣到懶叫彈出來
01/08 20:44

01/08 20:44,
樓上好糟糕 請暫時不要跟我說話 =口=
01/08 20:44

01/08 20:45,
我是說樓樓上
01/08 20:45

01/08 20:45,
不 是樓樓樓上
01/08 20:45

01/08 20:45,
...............
01/08 20:45
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.220.141 ※ 編輯: fenir 來自: 140.114.220.141 (05/03 19:20)

05/03 19:56, , 1F
1.array_c用動態配置
05/03 19:56, 1F

05/03 19:56, , 2F
2.把array_b傳入func,將array_c複製過去
05/03 19:56, 2F

05/03 19:57, , 3F
這個問題可以參考C/C++版的新手十二戒之六
05/03 19:57, 3F

05/03 20:42, , 4F
you must "new"
05/03 20:42, 4F

05/03 21:03, , 5F
抱歉不懂什麼是動態配置和"new"
05/03 21:03, 5F

05/03 22:09, , 6F
不懂就去查 http://goo.gl/mC9B
05/03 22:09, 6F

05/03 23:51, , 7F
動態配置要記得Free啊啊啊...
05/03 23:51, 7F
文章代碼(AID): #1Bth4Imy (Programming)