C函数
每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
定义函数
返回类型 函数名( 参数 )
{
函数主体(代码段);
}
函数声明
在函数声明中,参数的名称并不重要,只有参数的类型是必需的。
例如 int max(int,int);
调用函数
调用函数时,传递所需参数,如果函数返回一个值,则可以存储返回值。
调用类型(传递参数的方式)
传值调用
向函数传递参数的传值调用方法,把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。一般来说运用传值调用方法意味着函数内的代码不会改变用于调用函数的实际参数。
引用调用
通过引用传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问。
内部函数
如果一个函数只能被本文件中其他函数所调用,它称为内部函数。使用内部函数,可以使函数的作用域只局限于所在文件。即使在不同的文件中有同名的内部函数,也互不干扰。提高了程序的可靠性。
static 返回类型 函数名( 参数 )
外部函数
外部函数,可供其它文件调用。
extern 返回类型 函数名( 参数 )
C 语言规定,如果在定义函数时省略 extern,则默认为外部函数。
要运用项目来进行实操。
内联函数
inline 返回类型 函数名( 参数 )(内联函数用于函数定义,而非函数声明,函数声明时无inline)
内联扩展是用来消除函数调用时的时间开销。它通常用于频繁执行的函数,对于小内存空间的函数非常受益。
使用内联函数的时候要注意:
- 递归函数不能定义为内联函数
- 内联函数一般适合于不存在while和switch等复杂的结构且只有1~5条语句的小函数上,否则编译系统将该函数视为普通函数。
- 内联函数只能先定义后使用,否则编译系统也会把它认为是普通函数。
- 对内联函数不能进行异常的接口声明。