函数
定义
函数是完成特定任务的独立程序代码单元,语法规则定义了函数的结构和使用方式 通用形式:
函数原型
函数声明位于函数定义之前,用来指定函数的名称、返回类型、存储类和其他特性。 若要作为原型,函数声明还必须为函数的参数确定类型和标识符。原型与函数定义具有相同的形式,只不过前者由紧跟在右括号后的分号结尾,因此没有主体。 在任一情况下,返回类型都必须与函数定义中指定的返回类型一致。
函数原型有下列重要用途:
- 它们建立返回除 int
之外的类型的函数的返回类型。 尽管返回 int
值的函数不需要原型,但仍建议使用原型。
- 如果没有完整原型,将进行标准转换,但不会尝试使用形参的数量检查实参的类型或数量。
- 原型用于在定义函数之前初始化指向函数的指针。
- 形参列表用于检查函数调用中的实参是否与函数定义中的形参匹配。
函数类型
有返回值的函数类型应该与其返回值类型相同,没有返回值的函数为void
,如果没有声明函数的类型,则旧版本的C编译器会假定函数的类型是int,但在C99中已不支持这种假定设置
递归
C允许函数调用他自己,这种调用过程叫做递归,递归一定要有结束点,否则会造成无限递归
编译多源代码的程序
假设file1.c和file2.c是两个C文件,可以使用以下命令将两个文件生成一个可执行文件:
UNIX
Linux
DOS命令行编译器:
与UNIX的cc类似
使用头文件:
在C语言开发中,一般会把函数原型、预处理定义符号常量放在头文件中。