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

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

3天内不再提示

什么是函数?

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

什么是函数?

我们之前说过, #include 就像是一个"工具箱",而工具箱中的"工具",就是函数,也就是程序的模块化。

比如说:printf 就是其中的一个函数,功能是输出。

C语言中的函数,除了其本身提供的大量的库函数之外,我们也可以自己定义函数。

也就是根据自己的需要,打造自己需要的工具。

定义函数的一般格式

返回值类型 函数名(参数类型 参数1,参数类型 参数2......)
{
    函数内代码;
    return 返回值;  //若无返回值,不写这一句 
}
  • 返回值类型:指这个函数最后得出结果后,返回给主函数的值是什么类型。
  • 例如:int 类型。 当然,也可以不设置返回值,返回为空,也就是void
  • 函数名:指这个函数的名字,由你自己起名。
  • 参数:指执行这个函数,所需要传入的数据。
  • 参数类型:指传入参数的类型,如 int 型。

自定义函数,例1:A+B

我们写一个函数,功能是计算两个数的和,函数返回值是两个数的和。

就是下面这样

int Add(int a,int b)
{
  return a+b;
}
  • a 和 b 就是参数,它的值是你在调用函数时输入的值。
  • return 就是返回的意思,返回值是 a+b,也就是两数之和。

调用函数

也就是使用我们定义出来的函数,就用我们刚刚定义的函数来说明:

#include


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


int main()
{
  int c;
  c=Add(3,6);
  printf("%d",c);
  return 0;
}

程序的输出结果:

9

我们在主函数内调用函数时,格式是:

函数名(参数1,参数2...)
  • 在调用函数时,不需要像定义函数时一样,写出参数的类型,但需要保证参数的位置相互对应。
  • Add(3,6) ,3 对应的就是函数中的 a,6 对应的就是函数中的 b。 可以理解为给 a 赋值为 3,给 b 赋值为 6。 这个过程我们叫 "传参"。
  • 在函数中,我们定义了一个 int 型的数据 c ,用来储存函数返回的值,也就是两数相加的和。
  • 用单等号 = ,也就是赋值符,将函数的返回值赋值给了参数 c 。
  • 最后,我们使用库函数 printf 输出 c ,也就是输出了两数之和。

我们再把程序改进一下,让计算的数据由 “黑色窗口” 输入。

#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;
}
  • 这里我们需要注意的一点,函数中的参数名,跟主函数中的参数名是互不影响的,它们虽然名字相同,都是a和b,但却独立工作。 我们称这样的变量为"局部变量"。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7618

    浏览量

    138526
  • 函数
    +关注

    关注

    3

    文章

    4352

    浏览量

    63244
  • Printf
    +关注

    关注

    0

    文章

    83

    浏览量

    13798
  • 调用函数
    +关注

    关注

    0

    文章

    11

    浏览量

    2360
收藏 人收藏

    相关推荐

    函数指针和指针函数的概念

    不少朋友会混淆“函数指针”和“指针函数”这两个概念,本文详细介绍一下。
    发表于 03-09 10:49 1288次阅读

    什么是HOOK函数?HOOK函数的用途和用法

    市面上绝大多数操作系统,都存在这样一类API函数接口:HOOK函数(也叫钩子函数)。
    发表于 09-13 09:31 2651次阅读
    什么是HOOK<b class='flag-5'>函数</b>?HOOK<b class='flag-5'>函数</b>的用途和用法

    阶跃函数和冲激函数

     阶跃函数和冲激函数  在分析线性电路过渡过程时,常使用一些奇异函数来描述电路中的激励或响应。阶跃函数和冲激函数是两
    发表于 07-27 10:57 1.5w次阅读

    类成员函数与普通函数的区别研究

    本文的目的是研究类成员函数与普通函数之区别,以及不同调用方式之间的区别,进而通过内联汇编语句模仿特定的调用,从而完成通过普通函数指针调用类成员函数的功能。因此主要
    发表于 09-15 14:52 32次下载

    c语言函数指针定义,指针函数函数指针的区别

     往往,我们一提到指针函数函数指针的时候,就有很多人弄不懂。下面就由小编详细为大家介绍C语言中函数指针,指针函数函数指针之间的区别。
    发表于 11-16 15:18 3791次阅读

    内联函数和外联函数有什么区别

    内联函数是指用inline关键字修饰的函数。在类内定义的函数被默认成内联函数。内联函数从源代码层看,有
    发表于 12-15 11:52 5981次阅读
    内联<b class='flag-5'>函数</b>和外联<b class='flag-5'>函数</b>有什么区别

    基于plateaued函数的平衡布尔函数构造

    布尔函数在对称密码的设计和分析中起着重要的作用。通过对谱不相交函数集中子函数平衡性的问题的研究给出了包含4个plateaued函数函数集中
    发表于 12-17 09:43 0次下载

    标准函数是什么_标准函数有哪些

    在程序设计中,常将一些常用的功能模块编写成的函数放在函数库中供公共选用,一般称为标准函数。程序是由若干个程序模块组成的,高级语言中有子程序这个概念,子程序的功能由函数来实现的。C++标
    的头像 发表于 03-02 10:24 9379次阅读
    标准<b class='flag-5'>函数</b>是什么_标准<b class='flag-5'>函数</b>有哪些

    理解函数指针、函数指针数组、函数指针数组的指针

    理解函数指针、函数指针数组、函数指针数组的指针
    的头像 发表于 06-29 15:38 1.5w次阅读
    理解<b class='flag-5'>函数</b>指针、<b class='flag-5'>函数</b>指针数组、<b class='flag-5'>函数</b>指针数组的指针

    C语言函数的回调函数

    来源:嵌入式客栈 1 什么是回调函数?首先什么是回调呢? 我的理解是:把一段可执行的代码像参数传递那样传给其他代码,而这段代码会在某个时刻被调用执行,这就叫做回调。 如果代码立即被执行就称为同步回调
    的头像 发表于 09-11 09:57 4215次阅读

    C语言-内联函数、递归函数、指针函数

    这篇文章介绍C语言的内联函数、递归函数函数指针、指针函数、局部地址、const关键字、extern关键字等知识点;这些知识点在实际项目开发中非常常用,非常重要。
    的头像 发表于 08-14 10:03 1778次阅读

    复变函数的共轭和原函数的关系

    复变函数的共轭和原函数的关系  复变函数的共轭与原函数之间存在着密切的关系,这是因为共轭和原函数都是复数
    的头像 发表于 09-07 16:43 6191次阅读

    函数类型和函数指针类型的区别

    平时用的更多的是函数指针类型,比如作为函数参数传入回调函数等等。实际上函数类型也是可以作为函数的参数进行传递的。
    发表于 10-24 14:27 452次阅读

    函数指针与回调函数的应用实例

    通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数函数指针可以像一般函数一样,用于调用函数、传递参数。
    的头像 发表于 03-07 11:13 479次阅读
    <b class='flag-5'>函数</b>指针与回调<b class='flag-5'>函数</b>的应用实例

    SUMIF函数与SUMIFS函数的区别

    SUMIF函数和SUMIFS函数都是Excel中用于条件求和的函数,它们可以帮助用户根据特定的条件对数据进行求和。尽管它们的基本功能相似,但在使用场景和功能上存在一些差异。以下是对这两个函数
    的头像 发表于 10-30 09:51 3625次阅读