C++中的函数原型和函数定义

 

        当函数声明和定义出现在主函数之后的,我们需要在函数之前(在函数调用以前)加函数原型声明。


        函数原型声明,指明 函数名字,返回类型,有几个参数,这几个参数是什么类型。不需要函数体。也不需要形式参数的名字(当然,写了形式参数的名字也不算错)。分号作原型声明 结束符


        当函数定义出现在主函数之前,就不需要函数原型声明。


        函数定义,必须有函数体。同时有 函数名字,返回类型,有形式参数的类型和名字。


        二者主要区别是一个有函数体,描写函数数据加工和返回的过程和细节。另一个只是简单地说一下函数名字,返回类型,有几个参数。


        例如:
       

        函数原型声明:int fun(int a, int b); // 函数名字fun,返回类型 int,有2个 int 参数
        函数原型声明:int fun(int, int); // 函数名字fun,返回类型 int,有2个 int 参数
        函数原型声明:fun(int, int); // 函数名字fun,默人返回类型,有2个 int 参数
        例如函数声明和定义: int fun(int a, int b) {return a+b;}// 花括号里是函数体,结束处没有分号,有形参名。

         函数原型类似函数定义时的函数头,又称函数声明。函数声明由函数返回类型、函数名和形参列表组成。这三个元素被称为函数原型,函数原型描述了函数的接口。

         函数原型在c++中就是函数声明,因为它定义了函数名、参数个数、参数类型和返回值。定义是函数声明加上对这个函数的实现,即有花括号跟随在后。

      这个是声明(原型):

int add(int, int);

        这个是定义:

int add(int a, int b) {
  return a + b;
}

       函数原型相当于函数调用规则.比如:

扫描二维码关注公众号,回复: 12800461 查看本文章
函数int fun(int a,int b) { int c; c=a+b; return c }
的原型是int fun(int a,int b);或者可以写成int fun(int,int);

      这样可以告诉调用者如何调用这个函数以及返回值是什么.

        为了能使函数在定义之前就能被调用,C++规定可以先说明函数原型,然后就可以调用函数。函数定义可放在程序后面。 由于函数原型是一条语句,因此函数原型必须以分号结束。函数原型由函数返回类型、函数名和参数表组成,它与函数定义的返回类型、函数名和参数表必须一致。函数原型必须包含参数的标识符(对函数声明而言是可选的);说明:系统标准函数并没有在包含文件中定义,而只是提供了函数原型。在调用函数时,系统会正确地调用库函数。 注意:函数原型与函数定义必须一致,否则会引起连接错误。

猜你喜欢

转载自blog.csdn.net/weixin_44684272/article/details/108304198
今日推荐