所谓声明(declaration),就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,稍后我会把定义补上。
函数声明的格式非常简单,相当于去掉函数定义中的函数体,并在最后加上分号;,如下所示:
datatype functionname( datatype1 param1, datatype2 param2 ... );
也可以不写形参,只写数据类型:
datatype functionname( datatype1, datatype2 ... );
函数声明给出了函数名、返回值类型、参数列表(重点是参数类型)等与该函数有关的信息,称为函数原型(function prototype)。
函数原型的作用是告诉编译器与该函数有关的信息,让编译器知道函数的存在,以及存在的形式,即使函数暂时没有定义,编译器也知道如何使用它。
示例:
#include//函数声明 int sum(int m, int n); //也可以写作int sum(int, int); int main(){ int begin = 5, end = 86; int result = sum(begin, end); printf("the sum from %d to %d is %dn", begin, end, result); return 0; } //函数定义 int sum(int m, int n){ int i, sum=0; for(i=m; i<=n; i ){ sum =i; } return sum; }