C++函数原型指的是函数声明的语法形式,它告诉编译器函数的名称、返回类型和参数列表。函数原型的语法形式如下:
return_type function_name(parameter_list);
其中,return_type
是函数返回值的数据类型,function_name
是函数的名称,而 parameter_list
是函数参数的列表,包括参数的数据类型和名称。例如,下面是一个简单的 C++ 函数原型的例子:
int sum(int a, int b);
函数原型指出了函数的名称(Area)、函数接受的参数列表(一个名为 radius 的 double 参数)以及返回值的类型(double)。
如果没有函数原型,编译器在 main() 中遇到 Area 和 Circumference 时,将不知道这两个是什么。函数原型告诉编译器, Area 和 Circumference 是函数,它们接受一个类型为 double 的参数,并返回一个类型为 double 的值。这样,编译器将意识到这些语句是合法的,而链接器负责将函数调用与实现关联起来,并确保程序执行时将触发它们。
函数原型的作用是让编译器知道函数的存在和形式,这样在程序中调用函数时,编译器就可以进行参数类型检查和类型转换,以及对函数返回值的处理。函数原型还可以帮助程序员在程序中使用多个源文件时避免函数名称冲突的问题。
注意:
函数可接受用逗号分隔的多个参数,但只能有一种返回类型。
编写不需要返回任何值的函数时,可将其返回类型指定为 void。
函数的实现被称为函数定义。下面来分析函数 Area()
的定义:
double Area(double radius)
{
return Pi * radius * radius;
}
函数定义总是由一个语句块组成。除非返回类型被声明为 void,否则函数必须包含一条 return 语句。就这里而言,函数 Area()
需要返回一个值,因为其返回类型为 double。语句块是包含在左大括号和右大括号( {})内的语句,在函数被调用时执行。 Area()
使用输入参数 radius 来计算圆的面积,该参数包含调用者以实参方式传递的半径。
如果函数声明中包含形参(parameter),调用函数时必须提供实参(argument),它们是函数的形参列表要求的值。下面来分析程序中对函数 Area()
的调用:
cout << "Area is: " << Area(radius) << endl;
其中 Area(radius)
是函数调用,而 radius 是传递给函数 Area()
的实参。执行到 Area(radius)
处时,将跳转到函数 Area()
处—使用传递给它的半径计算圆的面积。
该文章会更新,欢迎大家批评指正。
推荐一个零声学院的C++服务器开发课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容
点击立即学习:C/C++后台高级服务器课程