C++中函数原型是什么意思

如题所述

就是你在定义函数时,函数的返回值、函数名、和函数的参数。例如:你定义下面一个函数:
int max (int x,int y)
{
if (x>y)
return x;
else
return y;

}
这个max函数的函数原型就是int max (int x,int y) ;
有时在另一个函数中调用max函数时,当max函数的定义在调用的函数后面,就必需在调用函数的前面加上max函数的原型,目的是:通知编译器存在max这个函数。如果max函数在调用它的函数的前面定义,就不用加上max的原型声明了。不知我说的清不清处,但原你能明白,也希望真正的高手们多多指点。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-28
首先让你考虑一个非常简单的问题,我们在写程序的时候为什么不可以把变量的声明放到要使用该变量语句的前面就像:
int a,b;
cout << a + b << endl;
而不能写写成
cout << a + b << endl;
int a,b;
目的就是在我们要用该变量时必须让编译器知道该变量的存在,而在现在程序中我们都知道,除非有特别说明,否则程序执行就是按照顺序执行,所以,如果你把一个函数定义在后面,而在前面又没有通知编译器存在该函数,那么在编译时肯定会说没有这个函数,而当你通知编译器的时候又得保证你通知的消息的正确性,就是函数返回类型,函数名称,参数类型及个数,这些信息必须相当准确,否则编译器不可能认为是一样的,不过但你有了函数原型当没有函数定义编译可能不会出错(返回类型为void).
希望你看看M.H.Deitel著的<<C++ How to program>>!
祝你成功!本回答被提问者和网友采纳
第2个回答  2015-06-26
首先让你考虑一个非常简单的问题,我们在写程序的时候为什么不可以把变量的声明放到要使用该变量语句的前面就像:
int a,b;
cout << a + b << endl;
而不能写写成
cout << a + b << endl;
int a,b;
目的就是在我们要用该变量时必须让编译器知道该变量的存在,而在现在程序中我们都知道,除非有特别说明,否则程序执行就是按照顺序执行,所以,如果你把一个函数定义在后面,而在前面又没有通知编译器存在该函数,那么在编译时肯定会说没有这个函数,而当你通知编译器的时候又得保证你通知的消息的正确性,就是函数返回类型,函数名称,参数类型及个数,这些信息必须相当准确,否则编译器不可能认为是一样的,不过但你有了函数原型当没有函数定义编译可能不会出错(返回类型为void)。
第3个回答  2006-09-27
就是定义的函数的形式.如开头你定义了一个int A() 在后面再写A函数的代码时要照前面的形式,不能给他带参数.或不能改变他的函数类型
第4个回答  推荐于2016-10-29
函数声明由函数返回类型、函数名和形参列表组成。这三个元素被称为函数原型,函数原型描述了函数的接口。
函数原型类似函数定义时的函数头,又称函数声明。为了能使函数在定义之前就能被调用,C++规定可以先说明函数原型,然后就可以调用函数。函数定义可放在程序后面。 由于函数原型是一条语句,因此函数原型必须以分号结束。函数原型由函数返回类型、函数名和参数表组成,它与函数定义的返回类型、函数名和参数表必须一致。函数原型必须包含参数的标识符(对函数声明而言是可选的);说明:系统标准函数并没有在包含文件中定义,而只是提供了函数原型。在调用函数时,系统会正确地调用库函数。 注意:函数原型与函数定义必须一致,否则会引起连接错误。
相似回答