学习笔记 – C++函数调用 | 对被调函数做声明

C++函数调用的方式

在C++中,不允许对函数做嵌套定义,也就是说在一个函数中不能完整地包含另一个函数,在一个程序中每个函数的定义都是互相平行和独立的。

按函数在语句中的作用来分有3种调用方式

  • 函数参数,函数调用作为一个函数的实际参数。
  • 函数表达式,如果函数出现在一个表达式中,则需要函数带回要给确定阿值以参与表达式的运算。
  • 函数语句,把函数调用单独作为一个语句,不要求函数带回值,只需要完成一定的操作。

C++函数的递归调用

函数地递归调用是指在调用一个函数的过程中又出现直接或间接地调用其本身。

int Func(int num)
{
  int num1,num2;
  num2=Func(num1);
  return (2*num2);
}

C++函数调用的一般形式

函数名([实参列表])

如果调用的是无参函数,实参列表可以省略;如果实参表列包含多个实参,则这些参数之间用逗号隔开。

实参列表里面的参数顺序需要和形参列表里的参数要一一对应,如果实参表里包含多个参数,对实参求结果的顺序并不确定。

C++被调函数的声明和函数原型

在一个函数中调用另一个函数,需要满足3个条件。

  • 被调函数必须是已经存在的函数。
  • 如果使用的是库函数里面的,要在程序开头用#include命令将头文件包含到本文件中。
  • 如果使用用户自定义函数,该函数与调用它的函数在同一个程序单位中,且位置在主调函数之后,那么必须要在调用此函数之前对被调函数做声明。

函数声明:是指在函数尚未定义时,先将该函数的有关信息告知编译系统,以便编译能正常进行,函数声明的关键字是:extern,可以省略。

经典案例:C++实现对被调函数作声明。

#include<iostream>//头文件 
using namespace std;//命名空间 
int main() //主函数 
{
  extern int AddSum(int num_1,int num_2);//函数声明,也可以放到主函数外 
  int num_1,num_2,sum; //定义变量 
  cout<<"请输入两个数:";
  cin>>num_1>>num_2;
  sum=AddSum(num_1,num_2);//调用下面我写的求和方法 
  cout<<"两数之和是:"<<sum<<endl;
  return 0;
} 
int AddSum(int num_1,int num_2)//函数定义 
{
  int sum;
  sum=num_1+num_2;
  return sum; //将sum的值返回到调用函数处 
}

执行本程序之后,会输出:

请输入两个数:4 5
两数之和是:9

--------------------------------
Process exited after 2.773 seconds with return value 0
请按任意键继续. . .

C++实现对被调函数做声明

更多案例可以go公众号:C语言入门到精通

正文完