max(int
a,int
b){...
}
在这里a , b就是形参 , 接下来你会调用max函数 , 如:
void
main()
{
int
c,int
d;
.....
max(c,d);
}
这里c
d就是实参
所谓形参就是在函数定义体中的参数
所谓实参就是在调用函数时实际传进函数的参数
C语言中形参与实参是什么?请具体解释 。形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.
形参和实参的类型必须要一致,或者要符合隐含转换规则,
当形参和实参不是指针类型时,在该函数运行时,形参和实
参是不同的变量,他们在内存中位于不同的位置,形参将实
参的内容复制一份,在该函数运行结束的时候形参被释放,
而实参内容不会改变.
而如果函数的参数是指针类型变量,在调用该函数的过程
中,传个函数的是实参的地址,在函数体内部使用的也是
实参的地址,即使用的就是实参本身.所以在函数体内部
可以改变实参的值.
给你一个很简单的例子:
int f(int b) /*b为形参*/
{ return b;}
main()
{int a=1;
printf("%d",f(a));/*a为实参*/
}
C语言中“实际参数”“形式参数”的概念是什么?形式参数就是定义函数时候的参数表,只是定义了调用时参数的个数、类型和用来引用的名字,并没有具体的内容 。形参未被调用时,不占存储单元 。形参只在调用过程中占用存储单元 。
在调用函数时,给形参分配存储单元 , 实参可以是常量、变量或者表达式,且要与形参类型一致!而且实参要有确定的值,在调用过程中实参将值赋给形参 , 并将实际参数对应的数值传递给形式参数;
调用结束后,形参单元被释放,实参单元仍然保留
并且维持原值 。所以说 , 实参是调用函数传递的具体数据 。实参对形参数据传递时时单向传递 。在存储单元中是不同的单元 。
下面这段程序中
#includestdio.h
int
fun(int
a,int
b)
{a+=10;
b=a+b*2;
return
a+b;
}
void
main()
{
int
x=3,y=5,z;
z=fun(x,y);
printf("%d
%d
%d\n",x,y,z);
}
a和b都是形式参数,x和y都是实际参数 。
程序从主函数开始运行,等到运行到z=fun(x,y)开始调用被调用函数,以被调用函数的形式进行运算,然后把计算的值返回后赋值给z,这样一个运算就算完成了 。在调用过程中 , 形参a和b的值都发生了改变,但是在main函数中 , x和y的值都未发生变化 。所以说实参向形参的值的传递是单向的 。
【c语言函数形参定义 c语言中函数的形参和实参】c语言函数形参定义的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言中函数的形参和实参、c语言函数形参定义的信息别忘了在本站进行查找喔 。
- mysqli获取所有数据 mysql的提取函数
- mysql 分组函数 mysql分组取数据
- mysql统计函数
- 将数据保存到文件中c语言 将数据保存到mongodb
- mysql有rank函数吗 mysql有rank
- redis-cli命令不能用 redis函数调用失败
- 罗布人村天气 mysql语言具有的功能
- mysql的判断函数 mysql怎么判断奇偶数
- mysql数据库编码格式查询 mysql编码函数
- mysql日期yyyymmdd mysql中的日期型函数
