0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是函数的调用?

CHANBAEK 来源:小木编程 作者:小木之 2023-04-04 17:21 次阅读

什么是函数的调用?

函数的调用,就是使用我们已经定义好的函数,或者C语言自带的库函数。

在一个项目中,可能会需要重复执行某一“动作”,比如:计算两个数的和。

如果我们每次都把这个“动作”的代码写一遍,不仅浪费时间,还影响代码的美观。

于是,我们就需要用到函数。

函数就是把某种功能封装起来,变成一个“工具”,当我们需要使用它时,调用就行了。

函数调用的类别

函数的调用大致可以分为两种,有参调用,和无参调用。

(1) 有参调用

  • 有参调用,即调用函数时,需要传入参数
  • 将实参的值赋给形参后,函数体再对形参进行处理,也就是运行函数,最后把最终结果返回给主函数。

例:

#include


int Add(int a,int b)
{
  return a+b;
} 


int main()
{
  int a,b,c;
  scanf("%d%d",&a,&b);
  c=Add(a,b); // 调用函数时传入参数
  printf("%d",c);
  return 0;
}

(2) 无参调用

  • 无参调用,调用函数时,不需要传入参数。
  • 函数直接使用函数体内的代码与数据,运行函数。

例:

#include


void PP()
{
  printf("这是无参调用");
}


int main()
{
  PP();  // 无参调用只需写出函数名即可
  return 0;
}

输出:

这是无参调用

函数调用后的结果

无论是有参调用,还是无参调用,都是可以具有返回值的,但一般来说,无参调用没有返回值。

对于有返回值的函数,在调用时是可以作为表达式的一部分来直接使用的。

例:

#include


int Add(int a,int b)
{
  return a+b;
} 


int main()
{
  int a=5,b=1,c;
  c=Add(a,b)+10; 
  printf("%d",c);
  return 0;
}

输出结果:

16

这段代码c=Add(a,b)+ 10 ; 就是将调用的函数直接作为确定的值使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136714
  • 函数
    +关注

    关注

    3

    文章

    4329

    浏览量

    62578
  • 代码
    +关注

    关注

    30

    文章

    4780

    浏览量

    68539
  • 函数调用
    +关注

    关注

    0

    文章

    19

    浏览量

    2585
收藏 人收藏

    评论

    相关推荐

    C语言函数调用过程中的内存变化解析

    相信很多编程新手村的同学们都会有一个疑问:C 语言如何调用函数的呢?局部变量的作用域为什么仅限于函数内?这个调用不是指C 语言上的函数
    的头像 发表于 12-11 16:21 3760次阅读

    C语言使用函数调用的知识点

    C语言使用函数调用,我们再熟悉不过了,但是函数调用在内存中究竟发生了什么真的清楚吗?只有搞清楚内存里的内幕,才算完全搞懂函数
    发表于 09-07 11:47 832次阅读

    C函数调用机制与栈帧原理详解

    当一个C函数调用时,函数的参数如何传递、堆栈指针如何变化、栈帧是如何被建立以及如何被消除的,一直缺乏系统性的理解,因此决定花时间学习下函数调用
    发表于 06-08 10:49 1299次阅读
    C<b class='flag-5'>函数</b><b class='flag-5'>调用</b>机制与栈帧原理详解

    matlab自定义函数调用的方法

    matlab自定义函数调用的方法 命令文件/函数文件+ 函数文件 - 多
    发表于 11-29 13:14 88次下载

    高效的C编程之函数调用

    14.9 函数调用 函数设计的基本原则是使其函数体尽量的小。这样编译器可以对函数做更多的优化。 14.9.1 减少
    发表于 10-17 16:49 6次下载
    高效的C编程之<b class='flag-5'>函数</b><b class='flag-5'>调用</b>

    一种动静结合的恶意程序函数调用图提取方法

    完整准确地提取函数调用图是基于函数调用图进行恶意程序相似性分析的基础。为此,提出一种动静结合的恶意程序函数
    发表于 02-24 13:52 0次下载
    一种动静结合的恶意程序<b class='flag-5'>函数</b><b class='flag-5'>调用</b>图提取方法

    带你了解嵌入式C语言函数调用

    大家都知道函数调用是通过栈来实现的,而且知道在栈中存放着该函数的局部变量。但是对于栈的实现细节可能不一定清楚。
    发表于 07-12 17:08 2110次阅读
    带你了解嵌入式C语言<b class='flag-5'>函数</b><b class='flag-5'>调用</b>栈

    C语言使用函数调用在内存中究竟发生了什么?

    C语言使用函数调用,我们再熟悉不过了,但是函数调用在内存中究竟发生了什么真的清楚吗?只有搞清楚内存里的内幕,才算完全搞懂函数
    的头像 发表于 01-13 14:09 1164次阅读

    嵌入式系统中函数如何调用

    嵌入式系统中,一个函数调用时,它的内部机理是什么,执行了哪些步骤?如图1所示,先看 看 一个程序在运行时,它的内存分布状况。
    的头像 发表于 02-13 14:15 1082次阅读
    嵌入式系统中<b class='flag-5'>函数</b>如何<b class='flag-5'>调用</b>

    嵌入式软件架构设计之函数调用

    函数调用很好理解,即使刚学没多久的朋友也知道函数调用是怎么实现的,即调用一个已经封装好的函数,实
    的头像 发表于 02-15 14:48 1104次阅读
    嵌入式软件架构设计之<b class='flag-5'>函数</b><b class='flag-5'>调用</b>

    函数调用时底层会发生什么

    如果你懂得用箱子打包东西,你就能明白函数调用是怎么一回事。 原来,在程序运行时每个被调用函数都有自己的一个箱子,假设这段代码是这样写的:
    的头像 发表于 02-17 14:47 654次阅读
    <b class='flag-5'>函数</b><b class='flag-5'>调用</b>时底层会发生什么

    C语言函数调用的形式及过程

    C语言函数调用时的数据传递 在调用有参函数时,主调函数和被调函数之间有数据传递关系。
    的头像 发表于 03-10 14:28 1739次阅读

    ES32F36xx芯片发生HardFault异常时的函数调用关系及问题定位

    ES32F36xx芯片发生HardFault异常时的函数调用关系及问题定位
    的头像 发表于 11-06 17:13 765次阅读
    ES32F36xx芯片发生HardFault异常时的<b class='flag-5'>函数</b><b class='flag-5'>调用</b>关系及问题定位

    python定义函数调用函数的顺序

    定义函数调用函数的顺序 函数被定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得
    的头像 发表于 10-04 17:17 1385次阅读

    linux用gdb调试遇到函数调用怎么办?

    linux用gdb调试遇到函数调用怎么办? 在Linux上使用GDB调试时,遇到函数调用是一个常见的情况。函数
    的头像 发表于 01-31 10:33 712次阅读