1, 什么是函数原型?什么是函数定义?二者有何区别?

如题所述

函数先声明才可以被调用,如同变量先声明后使用。函数的声明也可以和函数定义分开。一个函数只可以定义一次,但是可以声明多次。
函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。
函数原型即是上述所说的三个元素:函数返回类型、函数名和形参列表。
也就是说是通过函数原型进行函数声明的!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-11
  函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被称为函数原型,函数原型描述了函数的接口。
  函数的定义是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型以及函数体等,它是一个完整的、独立的函数单位。而函数的声明的作用则是把函数的名字,函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时进行对照检查(例如,函数名是否正确,实参与形参的类型和个数是否一致),它不包括函数体。
第2个回答  2013-12-23
当函数声明和定义出现在主函数之后的,我们需要在函数之前(在函数调用以前)加函数原型声明。
函数原型声明,指明 函数名字,返回类型,有几个参数,这几个参数是什么类型。不需要函数体。也不需要形式参数的名字(当然,写了形式参数的名字也不算错)。分号作原型声明 结束符

当函数定义出现在主函数之前,就不需要函数原型声明。
函数定义,必须有函数体。同时有 函数名字,返回类型,有形式参数的类型和名字。

二者主要区别是一个有函数体,描写函数数据加工和返回的过程和细节。另一个只是简单地说一下函数名字,返回类型,有几个参数。
例如:
函数原型声明: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;}
// 花括号里是函数体,结束处没有分号,有形参名。本回答被网友采纳
相似回答