c语言里面的实参和形参分别是什么意思?
答案:4 悬赏:20 手机版
解决时间 2021-11-24 07:08
- 提问者网友:雨不眠的下
- 2021-11-23 18:22
c语言里面的实参和形参分别是什么意思?
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-11-23 19:05
不知道函数调用原理的话,很难说得清楚的。粗略的说在C中函数其实是分成三个部分,分别是声明、实现和使用。声明就是告诉C有这么个函数,实现就是这个函数的完整代码,使用则是调用这个函数帮你做运算或者是做事情。为了让函数能做更多的事情,就需要一种方法能向函数传递性息,最可靠、最方便的方法就是参数传递,C就是这样做的。参数传递也不是简单的一件事情,首先在调用者和被调用者之间得有个约定,大家约定好了参数放什么地方,如何使用,这个就称为调用约定。现在我们回过头来看什么叫实参和形参。由上面的叙述可以看到,函数其实有一定的独立性的,参数是在调用约定下放在指定地方供函数使用的,在我们实现函数的时候,实际的参数是什么我们还不知道,但我们知道有多少参数,分别是什么数据类型的和放在什么地方(顺序),这个是由调用约定来保证的。我们知道的这些就是形式的或者说是逻辑的,我们在实现函数(编写函数体)的时候需要给他们命名,以便使用,这些在函数实现的时候命名的形式上的参数就是形式参数,简称形参。而在实际调用发生的时候,调用者会将实际的参数放在约定好了的地方,这个实际参数简称实参。函数被运行的时候实参和形参形成了一一对应,对形参的操作就变成了对实参的操作。
对调用约定还有需要说明的就是,现在常用的调用约定都是传值的,也就是说只是传递了一个副本,这样做的结果就是你对形参的操作不会被传递出来。
对调用约定还有需要说明的就是,现在常用的调用约定都是传值的,也就是说只是传递了一个副本,这样做的结果就是你对形参的操作不会被传递出来。
全部回答
- 1楼网友:山君与见山
- 2021-11-23 21:37
呃。。。
#include
void WF(int x,int y)
//int x,int y函数WF的形式参数,等着给给实参,被调用了进去运算
{
x=x+y;
y=x+y;
printf("subs: x,y=%d,%d\n",x,y);
}
void main() {
int x=18,y=23;
printf("main: x,y=%d, %d\n",x,y);
WF(x,y);//x=18,y=23就是传的实参,主函数里传进去实际的值
x=x*2;
printf("main: x,y=%d,%d\n",x,y);
}
#include
void WF(int x,int y)
//int x,int y函数WF的形式参数,等着给给实参,被调用了进去运算
{
x=x+y;
y=x+y;
printf("subs: x,y=%d,%d\n",x,y);
}
void main() {
int x=18,y=23;
printf("main: x,y=%d, %d\n",x,y);
WF(x,y);//x=18,y=23就是传的实参,主函数里传进去实际的值
x=x*2;
printf("main: x,y=%d,%d\n",x,y);
}
- 2楼网友:痴妹与他
- 2021-11-23 21:12
在主函数内使用的是实参,在调用函数的时候用的形参,形参改变实参未必改变。
- 3楼网友:独行浪子会拥风
- 2021-11-23 19:52
实参:是在函数调用时给出的,实参可以是常量,变量,表达式。
形参:是定义函数中给出的,形参一定是变量。
在函数定义,函数声明,函数调用时要求:
形参和实参个数相同,类型一致。顺序一致。
形参:是定义函数中给出的,形参一定是变量。
在函数定义,函数声明,函数调用时要求:
形参和实参个数相同,类型一致。顺序一致。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯