在这一章中我们来学习一下关于函数的定义与使用。关于函数的概念我们可以这样理解,函数是一个功能的集合,它可以根据输入完成特写的功能,并将结果输出。当然有时候函数只是为了实现一些特写功能而并不一定要有输入或输入。我们想要自己编写一个函数需要编写两部分内容:声明和定义。函数的声明就是告诉编译器我们想要定义一个函数,并明确规定其返回值(输出)、函数名、参数表(输入)。声明函数的语法如下:

type function_name(type var);

下面我们来看几个声明函数的例子:

int max(int a, int b);  //返回两个变量中值较大的值。
float sum(float a, float b, float c);  //返回三个变量a、b、c的和。
printf(char *fmt, ...);  //按格式显示

注意,关于printf函数中fmt参数后面的...表示这个函数可以接收不定个数的参数。关于这种不定参数类型的函数我们将在后续章节中学习。

对函数做出了声明之后,就可以定义函数的实现功能了,实现函数功能时,函数的名称,返回值,参数表必须要与此函数声明时一致。下面我们来实现上面前两个函数:

int max(int a, int b)
{if (a < b){return b;}return a;
}float sum(float a, float b, float c)
{return a + b + c;
}

定义好了函数内容我们就可以来使用这两个函数了。下面我们来编写程序调用这两个函数:

#include <stdio.h>int max(int a, int b);
float sum(float a, float b, float c);int main(int argc, char *argv[])
{int a = 1, b = 2;float c = 2.3, d = 3.4, e = 4.5;int f = max(a, b);float g = sum(c, d, e);printf("%d %f\n", f, g);return 0;
}int max(int a, int b)
{if (a < b){return b;}return a;
}float sum(float a, float b, float c)
{return a + b + c;
}

当一个函数的定义在调用这个函数之前时,可以不用声明这个函数。例如:

#include <stdio.h>int max(int a, int b)
{if (a < b){return b;}return a;
}float sum(float a, float b, float c)
{return a + b + c;
}int main(int argc, char *argv[])
{int a = 1, b = 2;float c = 2.3, d = 3.4, e = 4.5;int f = max(a, b);float g = sum(c, d, e);printf("%d %f\n", f, g);return 0;
}

但是我们通常编写的函数往往会提供给很多程序来调用,而且在函数内部往往也要调用其它函数。如果不对函数做声明的话,多个相互调用的函数将无法通过编译器编译,也就无法使用,所以还是建议读者在编写函数时先对函数做声明。

欢迎关注公众号:编程外星人

C语言基础:函数的声明与定义相关推荐

  1. 【C语言】函数的声明_函数定义_函数调用_函数递归 [函数的基本使用]

    文章目录 前言 1.函数是什么? 2.C语言中函数的分类 2.1 库函数 2.2 自定义函数 3.函数的参数 3.1 实际参数(实参): 3.2 形式参数(形参): 4.函数的调用 4.1 传值调用 ...

  2. 在c语言中函数的定义变量的值为,变量定义(C语言中变量的声明和定义)

    变量定义(C语言中变量的声明和定义),哪吒游戏网给大家带来详细的变量定义(C语言中变量的声明和定义)介绍,大家可以阅读一下,希望这篇变量定义(C语言中变量的声明和定义)可以给你带来参考价值. 3.函数 ...

  3. 【C语言-函数的声明与定义】

    [转载] 深入浅出,给初学者的难得的好文章 --- 一.函数的声明 1.在C语言中,函数的定义顺序是有讲究的:默认情况下,只有后面定义的函数才可以调用前面定义过的函数 1 int sum(int a, ...

  4. C语言详解系列——函数的认识(4)函数的声明与定义,简单练习题

    文章目录 函数的声明与定义 函数的声明 函数的定义 简单的练习题 写一个函数可以判断一个数是不是素数 写一个函数实现二分查找 写一个函数,每调用一次这个函数,就会将 num 的值增加1. 函数的声明与 ...

  5. C语言中变量和函数的声明与定义

    一.变量 在将变量前,先解释一下声明和定义这两个概念.声明一个变量意味着向编译器描述变量的类型,但并不为变量分配存储空间.定义一个变量意味着在声明变量的同时还要为变量分配存储空间.在定义一个变量的同时 ...

  6. 【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题

    函数 一.函数的嵌套调用和链式访问 1.嵌套调用 2.链式访问 2.1strlen()函数 2.2printf()函数 二.函数的声明和定义 1.函数声明和定义的介绍 2.函数声明和定义的使用 三.变 ...

  7. ostream作为函数返回值_GO语言基础函数

    GO语言基础–函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数 ...

  8. [GO语言基础] 三.变量声明、数据类型、标识符及编程练习12题

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了Go的编译运行 ...

  9. C语言基础-函数的概念

    c语言基础-函数的概念 一.函数的定义: 将常用的整体实现某个功能的代码块封装起来,用到的时候可以直接调用 函数也是模块化编程的一种体现 二.函数的定义格式: 函数类型 函数名(形参类型 形参名,形参 ...

  10. [C/C++语言基础] —函数

    目录 1.函数是什么 2.库函数 3.自定义函数 4.函数参数 5.函数的调用 6.函数的嵌套调用和链式访问 7.函数的声明和定义 8.函数递归 1.函数是什么 函数:有输入参数和返回值 返回类型  ...

最新文章

  1. 设计模式 — Overview
  2. ajax常见问题汇总(二)
  3. VC包含目录、附加依赖项、库目录及具体设置
  4. Tomcat 配置Https
  5. 关于结构体里面结构体的申明和使用
  6. Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件
  7. PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现
  8. linux比较两个目录的差异
  9. 博客制作系 -- 2.4. Git
  10. smartsvn 忽略文件夹_MacOS下smartSVN使用教程
  11. 通过DSP采集AD7606的转换结果
  12. 组装台式计算机配置清单,组装台式机清单配置,组装台式机详细清单
  13. swiper网格布局
  14. 【react】---Hooks的基本使用---【巷子】
  15. vivo计算机的隐藏功能教程,Vivo手机的5个隐藏功能,真的很实用,一定要打开
  16. 2020我也当了面试官-java面试题之一
  17. 计算机课拔线头检讨书,电脑显示器上出现检测信号线应该怎么解决?
  18. 计算机专业、软件技术、工程等学编程的同学电脑必配环境
  19. 游戏开发中字典数据的优化方案 golang版本
  20. 设计模式(10)——策略模式

热门文章

  1. 搜索和遍历在图中有何区别和联系?
  2. 手机连接电脑服务器未响应怎么解决办法,电脑DNS服务器未响应怎么处理呢?
  3. 计算机上如何转换搜狗,怎样切换输入法,搜狗输入法五笔和拼音切换
  4. c语言实现登录注册功能
  5. 使用乳腺癌数据集的人工神经网络
  6. HashMap、ConcurrentHashMap源码解读(JDK7/8)
  7. Go语言小程序开发快速入门——一、用Gin框架实现简单的信息获取
  8. 什么是网络安全?网络安全包括哪几个方面?
  9. 三大电信公司同领TDS牌照可能性最大
  10. 你拥有的最宝贵的财富是什么?