函数的定义与声明的区别

C语言编译系统是由上往下编译的.一般被调函数放在主调函数后面的话,前面就该有声明.不然C由上往下的编译系统将无法识别。正如变量必须先声明后使用一样,函数也必须在被调用之前先声明,否则无法调用!函数的声明可以与定义分离,要注意的是一个函数只能被定义一次,但可以声明多次。

函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被称为函数原型,函数原型描述了函数的接口。定义函数的程序员提供函数原型,使用函数的程序员就只需要对函数原型编辑即可。
【返回类型】 函数名(参数1类型 参数1,参数2类型 参数2,……);

int fun (int a, int b);

函数声明中的形参名往往被忽略,如果声明中提供了形参的名字,也只是用作辅助文档。另外要注意函数声明是一个语句,后面不可漏分号!

函数定义:
【返回类型】 函数名(参数类型1 参数名1,·····,参数类型n 参数名n)
{
函数体······
}

int fun(int a,int b)
{ 
  int c;
  c=a+b;
  return c;
 }

声明与定义的区别:

函数的声明与函数的定义形式上十分相似,但是二者有着本质上的不同。声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。
函数的定义
1.函数的定义是一个完整的函数单元,包含函数类型、函数名、形参及形参类型、函数体等。
2.在程序中,函数的定义只能有一次
3.函数首部与花括号间不加分号
函数的声明
1.函数声明只是对编译系统的一个说明,是对定义的函数的返回值的类型说明,以通知系统在本函数中所调用的函数是什么类型。
2.不包含函数体(或形参)
3.调用几次该函数就应在各个主调函数中做相应声明
4.函数声明是一个说明语句,必须以分号结束

猜你喜欢

转载自blog.csdn.net/Miss_Monster/article/details/85931321