一、概述
人们在面对复杂应用时,常采用模块化设计方法,即把应用系统按功能划分为若干模块。
一个C程序由一个主函数和若干个其他函数构成。
主函数调用其他函数,其他函数又可以调用别的函数,同一个函数还可以被调用多次。
关于函数的几点说明:
①C程序的执行开始于主函数通常也结束于主函数中。
②函数A可以调用函数B来使用函数B的功能。
③一个C程序可能由多个源程序文件组成,每个源程序文件可以单独编译。
二、定义函数的一般形式
函数类型 函数名(类型 变量1,…,类型 变量n)
{
声明部分
语句
}
有参函数:主调调用它时,需向它传递数据,会把数据通过形参传递给它.
return语句的一般形式为:
return 表达式;
或者 return;
return语句的作用是:
①设定函数的返回值;
②结束该函数的执行,并返回到主调函数继续执行。
无参函数:形参列表为空的函数。
①主调调用它时,不需向它传递数据
②常用来执行一组固定的操作
三、函数的调用
1.实参可以是常量、变量或表达式,但在调用时必须要有确定的值。
2.形参与实参的个数应一致,实参与形参的类型应相同或赋值兼容。
3. 如果调用的是无参函数,此时没有实参,但括号不能省略。
例子:
#include <stdio.h>
void printstar() //无参函数
{
printf(“******\n”);
}
int main()
{
printstar(); //调用无参函数printstar
return 0;
}
4. 如果有多个实参,C标准并未统一规定实参的求值顺序。但是,大多数C系统(VC、GCC)按自右至左的顺序求值。
5. 在调用函数时,是将实参的值传递给形参,而且是自左至右逐个的传递。
6.形参的存储单元在调用开始时才分配,调用结束就被释放。
7.在内存中,形参单元和实参单元是不同的存储单元。若在被调函数中改变形参的值,并不会影响对应实参的值。