在C语言中,函数的形参与实参之间的值传递是什么意思?函数调用时如主函数中为swap(a,b),而从函数为
2个回答
展开全部
以int 型举例
void Swap(int *a, int * b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void Swap1(int a, int b)
{
int temp = a;
a =b;
b = temp;
}
Swap(int *, int *);称之为实参 实际传递的是 a和 b 的地址 啊 , 在调用a与b 的值(*a)使用的是原来的数 下面的 x,y; a , b 的值是x与y 的内存地址
swap1(int ,int); 称之为形参 实际传递的是 a 和b 的值,这里的a和b 与xy没关系, 只是x与y 的一个副本。
int swap_test()
{
int x,int y;
x = 3; y = 5;
Swap(&x,&y);
//此时x = 5; y = 3;
Swap1(x,y);
//此时x = 5; y = 3;
return 1;
}
展开全部
每个函数 会给变量 重新做一个副本 比如
int a,b;
void wap(int a,int b); 可以用 wap( & a,& b) 取 a,b 的地址 传递 这样不会创建新变量
{
......
}
void wap (int a,int b) // 这里a,b 的地址和全局main的 a,b地址不同 只是一个副本 修改是不会影响主函数
{
a=a+b;
b = a - b;
a = a - b;
}
int a,b;
void wap(int a,int b); 可以用 wap( & a,& b) 取 a,b 的地址 传递 这样不会创建新变量
{
......
}
void wap (int a,int b) // 这里a,b 的地址和全局main的 a,b地址不同 只是一个副本 修改是不会影响主函数
{
a=a+b;
b = a - b;
a = a - b;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询