关于c语言中数组作为函数参数的函数之间调用问题

[复制链接]
查看11 | 回复1 | 2011-5-5 11:32:33 | 显示全部楼层 |阅读模式
比如,在main函数中定义了一个intarray[3];不赋初值
再写两个子函数,假如在第一个子函数中给数组赋值,在第二个子函数中用这个数组中的值做计算,就假设是在这里定义另一个数组做s=array*i;的操作好了。
……fun1(……)
{
……
}
……fun2(……)
{
for(i=0,in;i)
s=array*i;
……
}
main()
{
……//fun1调用
……//fun2调用
}

我假设的问题有没有意义不重要,也不是要其他什么简便方法,我就是想知道这样关于数组在函数之间的调用是怎么处理的,返回值是怎么样的。可以的话给我一个完整的参考代码,谢谢~~~
回复

使用道具 举报

千问 | 2011-5-5 11:32:33 | 显示全部楼层
这问题说明你对指针的运用还是不熟练的,既然是数组,作为函数参数传递的是数组首地址.
#includestdio.h
#includestdlib.h
voidfunc1(int*array,intsize){
inti,temp;
for(i=0;isize;i){
scanf(\"%d\",//利用scanf输入赋值
array=temp;
}
}
//数组array_b根据数组array_a的元素乘以项数获得元素值
voidfunc2(int*array_a,int*array_b,intsize){
inti;
for(i=0;isize;i)
array_b=array_a*i;
}
//输出数组元素
voidprint(int*array,intsize){
inti;
for(i=0;isize;i)
printf(\"%d\",array);
printf(\"\\n\");
}

intmain(void){
intsize;//数组大小
inti;
int*array_a,*array_b;//声明数组array_a,array_b
scanf(\"%d\",
array_a=malloc(sizeof(int)*size);
array_b=malloc(sizeof(int)*size);
func1(array_a,size);
func2(array_a,array_b,size);
print(array_a,size);
print(array_b,size);
return0;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行