图5.3程序运行结果说明:定义函数时指定的形参变量在未出现函数调用时,并不占用内存的存储单元。图5.4程序运行结果说明:程序中实参与形参同名,但两者的作用范围不同,程序开始执行时,为主函数中的变量n分配存储空间,实参n 在主函数main()中有效;主函数调用函数s(),有效的是形参n。程序的运行结果表明,当函数调用时,实参的值传送给形参,在被调函数内部,形参的变化不会影响实参的值。......
2023-10-21
在进行函数调用时,必须用主调用函数中的实际参数来替换被调用函数中的形式参数,这就是所谓的参数传递。在C语言中,对于不同类型的实际参数,有以下3种不同的参数传递方式。
1.基本类型的实际参数传递
当函数的参数是基本类型变量时,主调函数将实际参数的值传递给被调函数中的形式参数,这种方式称为值传递。函数中的形式参数在未发生函数调用之前是不占用内存单元的,只有在进行函数调用时才为其分配临时存储单元,而函数的实际参数是要占用确定的存储单元的。值传递方式是将实际参数的值传递到被调函数中形式参数分配的临时存储单元中,函数调用结束后,临时存储单元被释放,形式参数的值也就不复存在,但实际参数所占用的存储单元保持原来的值不变。这种参数传递方式在执行被调用函数时,如果形式参数的值发生变化,可以不必担心主调函数中实际参数的值会受到影响。因此,值传递是一种单向传递。
单片机C语 言程序设计
2.数组类型的实际参数传递(www.chuimin.cn)
当函数的参数是数组类型的变量时,主调函数将实际参数数组的起始地址传递到被调函数中形式参数的临时存储单元,这种方式称为地址传递。地址传递方式在执行被调函数时,形式参数通过实际参数传来的地址直接到主调函数中去存取相应的数组元素,故形式参数的变化会改变实际参数的值。因此,地址传递是一种双向传递。
3.指针类型的实际参数传递
当函数的参数是指针类型的变量时,主调函数将实际参数的地址传递给被调函数中形式参数的临时存储单元,因此也属于地址传递。在执行被调函数时,也是直接到主调函数中去访问实际参数变量,在这种情况下,形式参数的变化会改变实际参数的值。
前面介绍的一些函数调用中,所涉及的是基本类型的实际参数传递,这种参数传递方式比较容易理解和应用;最后一个例子所涉及的是指标类型的实际参数传递。关于数组类型和指针类型实际参数的传递较为复杂,请读者多读程序,仔细理解。
有关单片机基础及应用的文章
图5.3程序运行结果说明:定义函数时指定的形参变量在未出现函数调用时,并不占用内存的存储单元。图5.4程序运行结果说明:程序中实参与形参同名,但两者的作用范围不同,程序开始执行时,为主函数中的变量n分配存储空间,实参n 在主函数main()中有效;主函数调用函数s(),有效的是形参n。程序的运行结果表明,当函数调用时,实参的值传送给形参,在被调函数内部,形参的变化不会影响实参的值。......
2023-10-21
蜗杆传动用于传递两垂直交错轴的运动和动力。一般总是蜗杆为主动件,蜗轮为从动件。图1-65 蜗杆传动的类型a)圆柱蜗杆 b)环面蜗杆 c)锥蜗杆在圆柱蜗杆中,按螺旋面形状的不同又可分为阿基米德蜗杆、渐开线蜗杆和法向直廓蜗杆三类。由于蜗杆的齿是连续的螺旋齿,在与蜗轮的啮合过程中是连续不间断的,故传动平稳且无噪声。......
2023-06-25
调用通用过程或函数过程时,出现在过程名后面圆括号里的常量、变量或表达式,称为实际参数,简称“实参”。一般情况下,过程调用时,实参与形参在数量、变量数值类型上必须一一对应。传址比传值效率高,但采用传址方式,形参并不是真正的局部变量,有可能对程序的执行产生不必要的干扰,比如在过程中对形参赋值,就会改变对应的实参值,当然反过来利用这一点,也可以从过程中传递值出来。......
2023-10-22
我们通过下面的示例来说明按值传递方式中参数在函数之间的传递。图5.1实参与形参传递示意图当数组名作为函数参数时,函数传递数据方式采用的是“按地址传递”的方式,但要求形参和相对应的实参都必须是类型相同的数组。图5.3数组v的存储形式这样一来,形参数组中元素值的改变就会反过来影响到实参数组。......
2023-11-18
如果被调函数的形式参数是指针型参数,则主调函数中对应的实际参数就必须是同类型指针值(地址量),这种函数调用参数传递的方式称为传地址值方式。地址值参数传递函数调用示例。在例5.6的程序中,函数调用时将实参a和b的值复制给函数summul的形式参数x和y,实参变量mul将自己的地址传递给指针形式参数v。......
2023-11-20
程序的执行过程中,一个函数调用另外一个函数以完成某一特定的功能称为函数调用。如果函数调用出现在一个表达式中,该表达式亦称为函数表达式。函数调用时,实参的值传递到形式参数中就实现了数据由主调函数到被调函数的传递。图5.2swap函数值传递调用时参数的变化情况③控制流程转移到被调函数执行。在设计传值调用函数时,函数的形式参数是普通变量。......
2023-11-20
如今,奥运会已经成为全人类的共同的享有品,它的影响超越了它的自身,而成为一种追求精神的化身。古希腊人认为,奥林匹亚是希腊众神包括最高神宙斯的居住地。点燃奥运圣火古代奥运会召开前,会举行开幕式。人们依照宗教规定聚集在奥林匹亚宙斯神庙前,举行庄严的传递圣火的仪式,火炬手从祭坛点燃火炬,接着奔赴希腊各个城邦。这顶桂冠是奥林匹克运动会特有的奖品,也是希腊人全力争取的至高荣誉。......
2023-07-21
相关推荐