作者fenir (severus)
看板Programming
标题[问题] C语言中如何回传function中的阵列
时间Mon May 3 19:18:35 2010
我写一个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改成一般变数
这样又可以了
所以搞不懂为什麽阵列反而不行
--
1F:推 luxaky:我请香港女助理帮我看一下飞机 结果她... 01/08 20:41
2F:推 loki: 气到懒叫弹出来 01/08 20:44
3F:推 rayman1027:楼上好糟糕 请暂时不要跟我说话 =口=01/08 20:44
4F:→ rayman1027:我是说楼楼上 01/08 20:45
5F:→ rayman1027:不 是楼楼楼上01/08 20:45
6F:→ rayman1027:............... 01/08 20:45
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.220.141
※ 编辑: fenir 来自: 140.114.220.141 (05/03 19:20)
7F:推 hilorrk:1.array_c用动态配置 114.42.113.156 05/03 19:56
8F:→ hilorrk:2.把array_b传入func,将array_c复制过去 114.42.113.156 05/03 19:56
9F:→ hilorrk:这个问题可以参考C/C++版的新手十二戒之六 114.42.113.156 05/03 19:57
10F:推 chchwy:you must "new" 59.112.165.87 05/03 20:42
11F:→ fenir:抱歉不懂什麽是动态配置和"new"140.114.220.141 05/03 21:03
13F:→ j100002ben:动态配置要记得Free啊啊啊...140.122.165.144 05/03 23:51