一、函数
1、函数的意义
定义函数使功能更加模块化
定义函数的时候以功能为目的,根据功能定函数的参数和返回值
2、函数的分类
2.1 从定义角度分类 (即函数是谁实现的)
库函数 (C库实现的)自定义函数 (程序员自己实现的函数)系统调用 (操作系统实现的函数)
2.2 从参数角度分类
有参函数无参函数
2.3 从返回值角度分类
带返回值的函数没返回值的函数
3、函数的定义
函数的定义 即 函数的实现
定义方法:
返回值类型 函数名字( [形参 , 形参] )
{
// 函数体,即函数的功能
}
函数的定义不能嵌套,即不能在一个函数体内定义另外一个函数
所有函数的定义都是平行的
4、函数的声明
4.1 函数的声明: 对已经定义的函数 进行说明
函数的声明可以声明多次
4.2 声明的意义:
有些情况下,如果不对函数进行声明,编译器在编译的时候,可能不认识这个函数
因为编译器在编译C程序的时候,从上往下编译
4.3 什么时候需要声明 及 声明方法:
(1)主调函数和被调函数在同一个.c文件时
被调函数在下,主调函数在上
声明方法1 (直接声明)
将被调函数的第一行拷贝过去,后面加分号void called_func ( ) ;
声明方法2 (间接声明)
将被调函数的声明放在头文件中,在主调函数的.c中包含头文件即可#include "called_func.h"
(2)主调函数和被调函数不在同一个.c文件时
声明方法1(直接声明) 加 extern (外部的意思)
将被调函数的第一行拷贝过去,后面加分号, 前面加 externextern void called_func ( ) ;
声明方法2 (间接声明)
将被调函数的声明放在头文件中,在主调函数的.c中包含头文件即可#include "called_func.h"
把 extern void called_func ( ) ;声明搬到called_func.h中,然后包含.h
一般来说,定义一个.c后,需要添加一个对应的.h文件,里面写的是对.c的声明。
需要用.c中的函数,只需要加入对应.h的头文件
5、函数的调用
有返回值的函数调用
变量=函数名([形参])num = max(a,b);
无返回值的函数调用
函数名([形参])show_message();
6、使用函数的好处
定义一次,可以多次调用,减少代码的冗余度
使代码模块化,方便调试,方便阅读