
正文
在C语言的函数中形参 在c函数中形参可以是变量常量或表达式
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在c语言中形参与实参是如何定义的
在C语言中,形参即为形式参数。它在整个函数编译的时候,没有实际的数据赋于它,仅仅作于定义某个函数或者函数名。
而实参既为实际参数。顾名思义,在函数中,有一个特定的数据赋值给它,可以作于在函数中进行运算。
比如:
void
main()
{
int
a=1,b;
b=function(a);
//a作于在函数中进行运算,是实参
}
int
function(int
c)
//c作于定义function函数,是形参
{}
相关问答
Q1: C语言函数中的形参和实参分别是指什么?
形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。
2.实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
3.实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。
4.函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
Q2: 在C语言中,函数的形参和实参可以占同一个存储单元,也可以占不同的存储单元吧?
形参只是实参的一个副本,即拷贝,它们不能公用存储单元。
参数之间的传递分为数值传递与地址传递,如果是数值传递时,各自占用不同的内存单元,如果是地址传递时,共用同一段内存单元。
函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的回内存单元。
形参只是实参的一个副本,即拷贝,它们不能公用存储单元,不占相同的空间。
扩展资料:
函数调用过程
1、函数的形参列于函数声明中,在函数定义的函数体内使用。在未出现函数调用时,形参不占内存中的存储单元;当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。
2、将实参的值传递给形参。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。
3、在执行函数期间,由于形参已经有值,可以利用其进行相关运算。
4、通过return语句将函数值带回到主调函数。
5、调用结束,形参单元被释放。实参单元仍保留并维持原值(值传递)。
参考资料来源:百度百科-形式参数
参考资料来源:百度百科-实际参数
Q3: C语言形参是什么
形参全称形式参数,位置是写在函数定义时函数名后面的括号中,比如
int max(int x, int y)
{函数内容}
这个函数,形参就是函数名max后面括号里定义的x和y
而实参全称实际参数,是你在这个函数之外调用该函数的时候,函数名后的括号中的内容
比如
main()
{
int a=3,b=4;
int c=max(a,b);
}
在int c=max(a,b)这一行可以看到,实参就是max括号后的a和b
Q4: 在C语言中,函数的形参只能用auto或register来说明吗?
首先,第一个是不正确的。每个的具体说明如下:
第一,函数的形参不仅可以用auto或者register来说明,因为函数的形参还可以用const来定义一个其值不可变的常量形参,还可以在main函数前定义一个结构体,然后用结构体名来定义函数的形参。
第二,外部变量的隐含类别是外部存储类别,即extern。
第三,函数中的变量赋初值则每次调用都将会赋初值,如果想在第一次调用是赋一次初值,而在其后的调用过程中在第一次调用的基础上继续进行运算,则可以定义static静态变量并且直接赋予初值。
第四,在调用函数时,实参和对应的形参在类型上只需赋值兼容。因为在计算机内部,像字符型或者各类符号(中文,法文,德文等等)都是以ASCII码值的形式存在,因此当对字符进行操作的时候同样可以通过四则运算来达成有关目的,只需知道对应的码值就可以了,所以只需赋值兼容都可以操作。
Q5: c语言中形参和实参的区别?
有以下区别:
1、主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。
2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。
需要注意当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。
在C语言的函数中形参的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于在c函数中形参可以是变量常量或表达式、在C语言的函数中形参的信息别忘了在本站进行查找喔。







