一、函数概念
结构化程序设计的思想:把大问题分解成若干个小问题,每个小问题就是一个独立的子模块,以实现特定的功能,在c程序中,子模块的作用是由函数完成的。
- 一个c源程序可以由多个文件构成(c文件的后缀名.c)
- 一个源文件是一个编译单位
- 一个源文件可以由若干个函数组成(函数是c程序的基本组成单位)
- 每个c程序只能有一个main函数,其他都是子函数
- 主函数可以调用子函数,子函数可以相互多次调用
二、函数的定义
函数返回值类型 函数名(类型说明符 变量名, 类型说明符 变量名)
{
函数体
}
几个注意事项:
注意函数的返回值类型,如为void则无需return,其他需要返回值return 返回值;
注意区分形参实参,在使用函数时传入的为实参,在函数定义时的参数为形参。
注意函数参数的传递方式有两种:值传递、地址传递
三、函数的调用
- c程序是从主函数main()开始执行的,以main()函数体结束为止,在函数体的执行过程中,通过不断地对函数调用来执行。
- 调用者,被称为驻点函数一般为main()函数
- 被调用者,称为被调用函数一般为自定义函数或者库函数
- 被调用函数执行结束,从被调函数结束的位置再返回主调函数中,继续执行主调函数后面的语句。
四、函数的声明
使用原则:先定义后使用。
有参函数的声明形式:
函数类型 函数名(形参列表);
无参函数的声明类型:
函数类型 函数名();
函数在调用前必须声明。
五、内部函数和外部函数
1、内部函数:
只能在被定义的文件中使用,不能在其他文件中使用。
内部函数一般形式:
static 类型说明符 函数名(形参表);
内部函数关键字: static
2、外部函数
外部函数在整个源程序中都有效,只要定义函数时,在前面加上extern关键字