1、基本了解
函数就是功能,每一个函数用来实现一个特定功能,函数名反映代表的功能。
一个C程序由 仅一个main主函数和若干其他函数构成。
主函数调用其他函数,其他函数可以相互调用。
有两种函数,一种是系统的库函数,一种是自定义函数。
2、函数的自定义和调用
1、定义函数
定义无参函数:
类型名 函数名(){函数体}
定义有参函数
类型名 函数名(形参列表){函数体}
return (变量名);//函数返回值
2、调用函数
无参函数:
函数名();
有参函数:
函数名(实参列表);//实参:有实际值
函数调用过程:
⑴未调用前,不占内存的存储单元。
⑵mian函数内,调用函数的实参对应的值传送到形参。
⑶在main函数执行时,由于形参获得值,可以进行运算。
⑷通过return语句将函数值带回main函数内。
⑸调用结束,形参单元被释放。
调用函数的方式:
⑴函数语句
函数名();
⑵函数表达式
如:a=b+函数名();
⑶函数参数
如:a=1;b=2;函数名(a,b);
3、函数声明
类型名 函数名 ();
3、函数嵌套调用和递归调用
嵌套
函数递归:直接或间接调用函数本身。
4、数组作函数参数
1、实参传送值到形参
函数名(数组名[下标],数组名[下标]);
2、数组名作函数参数
类型名 函数名 (数组名[]);
5、变量的作用域和生存期
1、变量的作用域:局部变量和全局变量。
局部变量(内部变量):只在本函数内或复合语句内有效。从定义变量语句开始到函数结束或复合语句结束
全局变量(外部变量):函数体外定义的函数;从定义变量语句开始到该程序文件结束。
2、变量的存储方式和生存期
生存期:变量存在的时间。
函数和变量有两个属性:数据类型和数据的存储类别。
存储方式:静态存储方式和动态存储方式
存储类别:
auto—声明自动变量,动态存储方式
static—声明静态变量,静态局部变量,静态存储方式
register—声明寄存器变量,
extern—声明外部局部变量作用范围。
6、内部函数和外部函数
内部函数/静态函数:只能被本文件中的其他函数调用。
static 类型名 函数名();
外部函数:可被其他文件调用
extern 类型名 函数名();