学习啦 > 知识大全 > 知识百科 > 百科知识 > 什么是函数调用函数调用的形式

什么是函数调用函数调用的形式

时间: 谢君787 分享

什么是函数调用函数调用的形式

  函数调用是指计算机编译或运行时,使用某个函数来完成相关命令。那么你对函数调用了解多少呢?以下是由学习啦小编整理关于什么是函数调用的内容,希望大家喜欢!

  函数调用的一般形式

  在程序中通过对函数的调用来执行函数体,其过程与其它语言的子程序调用相似。

  C语言中,函数调用的一般形式为:

  函数名(实际参数表)

  对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。

  函数调用包括的内容

  函数表达式

  函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。

  函数调用的实际实现

  指针寄存器

  EBP

  EBP是所谓的帧指针,指向当前活动记录的上方(上一个活动记录的最下方)

  ESP

  ESP是所谓的栈指针,指向当前活动记录的最下方(下一个将要插入的活动记录的最上方)

  这两个指针的值规定了当前活动记录的位置

  参数传递

  将函数参数压栈:mov eax,dword ptr [n] ;(n为参数变元)

  push eax

  操作

  函数调用将执行如下操作:

  ⒈将帧指针压入栈中:push ebp

  ⒉使得帧指针等于栈指针:mov ebp,esp

  ⒊使栈指针自减,自减得到的内存地址应当能够(足够)用来存储被调用函数的本地状态:sub esp,0CCh

  注意:0CCh为0xCC,随着具体函数的不同而不同。

  传入保存状态

  push ebx ;保存ebx寄存器的值

  push esi ;保存esi寄存器的值

  push edi ;保存edi寄存器的值

  函数语句

  函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);scanf ("%d",&b);都是以函数语句的方式调用函数。

  函数实参

  函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。介绍printf 函数时已提到过,这里从函数调用的角度再强调一下。
看过“函数调用的形式”的人还看了:

1.c语言函数调用过程

2.怎么在VBA指令中调用Excel函数

3.excel用函数引用其他表数据的方法

4.excel查询引用函数的用法

5.html调用js方法

6.excel引用自定义公式的方法

1611017