概述
1.1函数调用的形式
一般形式:
函数名(实参表列)
-
函数调用语句
把函数调用单独作为语句。
-
函数表达式
函数调用出现在另一个表达式中,如“c=max(a,b);”, max(a,b)是一次函数调用,它是赋值表达式中的一部分。这时要求函数带回一个确定的值以参加表达式的运算。例如:
c = 2*max(a,b);
-
函数参数
函数调用作为另一个函数调用时的实参。列如:
m = max(a,max(b,c));
1.2函数调用时的数据传递
-
形式参数和实际参数
在调用有参函数时,主调函数和被调用函数之间有数据传递关系。从前面已知:在定义函数时函数名后面括号中的变量名称为“形式参数"(简称“形参")或“虚拟参数”。在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”(简称“实参")。实际参数可以是常量、变量或表达式。
-
实参和型参的数据传递
在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值。该值在函数调用期间有效,可以参加该函数中的运算。
1.3函数调用的过程
-
在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。在发生函数调用时,函数max的形参被临时分配内存单元。
-
将实参对应的值传递给形参。实参的值为2,把⒉传递给相应的形参x,这时形参x就得到值2,同理,形参y得到值3。
-
在执行max函数期间﹐由于形参已经有值﹐就可以利用形参进行有关的运算(例如把x和y比较,把x或y的值赋给z等)。
-
通过return语句将函数值带回到主调函数。应当注意返回值的类型与函数类型一致。如max函数为int型,返回值是变量z,也是int型。二者一致。
-
调用结束,形参单元被释放。注意:实参单元仍保留并维持原值,没有改变。如果在执行一个被调用函数时,形参的值发生改变,不会改变主调函数的实参的值。
1.4函数的返回值
-
函数的返回值是通过函数中的return语句获得的。
-
函数值的类型
注意:在定义函数要指定函数的类型。
-
在定义函数时指定的函数类型一般应该和return语句中的表达式类型一致。
如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。对数值型数据,可以自动进行类型转换。即函数类型决定返回值的类型。
-
对于不带返回值的函数,应当用定义函数为“void类型”(或称“空类型”)。
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。
最后
以上就是魁梧鸭子为你收集整理的C语言中调用函数的全部内容,希望文章能够帮你解决C语言中调用函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复