[問題] C語言中如何回傳function中的陣列
我寫一個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
05/03 19:56, 1F
→
05/03 19:56, , 2F
05/03 19:56, 2F
→
05/03 19:57, , 3F
05/03 19:57, 3F
推
05/03 20:42, , 4F
05/03 20:42, 4F
→
05/03 21:03, , 5F
05/03 21:03, 5F
→
05/03 22:09, , 6F
05/03 22:09, 6F
→
05/03 23:51, , 7F
05/03 23:51, 7F