C语言中的函数心形参和实参分别可以为哪几种类型?函数实参可以使任意类型。。。。错在哪?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的函数心形参和实参分别可以为哪几种类型?函数实参可以使任意类型。。。。错在哪?相关的知识,希望对你有一定的参考价值。
有整形、实数(浮点)、字符、指针、结构体、共用体、枚举类型等。函数实参应与形参类型一致追问
函数调用 能不能作为形参啊?
追答函数名也可做实参,可以用指针函数指向
参考技术A 错误可能是实参应与形参类型一致 参考技术B 实参应该与形参类型一致C语言的函数
1函数的形参和实参
1)形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
2)实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。
3)实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。
4)函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
数组名作为函数参数传递时是按地址传递
2 函数的返回值
1)函数的值只能通过 return 语句返回主调函数。
return 语句的一般形式为:
return 表达式;
或者为:
return (表达式);
该语句的功能是计算表达式的值,并返回给主调函数。在函数中允许有多个 return 语句,但每次调用只能有一个 return 语句被执行,因此只能返回一个函数值。
2) 函数值的类型和函数定义中函数的类型应保持一致。如果两者不一致,则以函数类型为准,自动进行类型转换。
3) 如函数值为整型,在函数定义时可以省去类型说明。
4) 不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“ void”。
3 函数的调用
在主调函数中调用某函数之前应对该被调函数进行说明(声明),这与使用变量之前要先进行变量说明是一样的。在主调函数中对被调函数作说明的目的是使编译系统知道被调函数返回值的类型,以便在主调函数中按此种类型对返回值作相应的处理。
其一般形式为:
类型说明符 被调函数名(类型 形参,类型 形参…);
或为:
类型说明符 被调函数名(类型,类型…);
括号内给出了形参的类型和形参名,或只给出形参类型。这便于编译系统进行检错,以防止可能出现的错误。
C语言中又规定在以下几种情况时可以省去主调函数中对被调函数的函数说明:
1)如果被调函数的返回值是整型或字符型时,可以不对被调函数作说明,而直接调用。这时系统将自动对被调函数返回值按整型处理。
2)当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函数再作说明而直接调用。
3)如在所有函数定义之前,在函数外预先说明了各个函数的类型,则在以后的各主调函数中,可不再对被调函数作说明。
以上是关于C语言中的函数心形参和实参分别可以为哪几种类型?函数实参可以使任意类型。。。。错在哪?的主要内容,如果未能解决你的问题,请参考以下文章