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

 我来答
天罗网17
2022-05-28 · TA获得超过6200个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.8万
展开全部
  函数调用是指计算机编译或运行时,使用某个函数来完成相关命令。那么你对函数调用了解多少呢?以下是由我整理关于什么是函数调用的内容,希望大家喜欢!

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

  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);都是以函数语句的方式调用函数。

  函数实参
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式