思维导图:
函数的基本概念
什么是函数
函数是完成特定任务的独立程序代码单元。
例如:printf函数把数据打印到屏幕上,scanf函数能从控制台读取指定的数据等等。
为什么使用函数
- 使用函数可以省去编写重复代码的苦差。
- 即使程序只完成某任务一次,也值得使用函数。因为函数让程序更加模块化,从而提高了程序代码的可读性,更方便后期修改、完善。
函数定义
函数的定义即函数体的实现。
函数体:完成一个功能的所有代码组成的整体。简单来说:一堆语句。
定义格式、组成部分
函数定义的语法:
类型 函数名(形参列表) 代码块
return_type function_name( parameter list )
{
body of the function
}
在C语言中,函数是由一个函数头和一个函数主体组成。下面列出了一个函数的所有组成部分。
- 返回值类型:一个函数可以返回一个值,当然,也可以没有返回值。return_type是函数返回值的数据类型,在某些没有返回值的函数中,return_type就是void关键字。
- 函数名称:一个代号,一个名字。
- 参数:参数就像是占位符。当函数被调用时,你向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。(简单来说,可能像是你要传递数据的另外的一个代号。)
- 函数主体:函数主体包含一组完成特定任务的执行语句。
补充: 返回值嘛,这个没什么好说的,自己写的函数,自己当然知道啦。
实例:
// 交换两个整型数字
void swap(int num1, int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
}
函数声明
当编译器遇到一个函数的调用时,它产生代码传递参数并调用这个函数,(如果有返回值的话)并接收这个函数的返回值。但是,编译器又是怎么知道这个函数中有多少个参数,返回值的类型是什么类型呢?所以,这就需要声明。
三种方式
声明有以下几种方式:
- 在main函数上写函数:
// 求两个整数的和
int sum(int num1, int num2)
{
return num1 + num2;
}