C++中的函数定义、声明、调用

1、函数的本质:

  • 函数由能完成特定功能的独立程序代码块组成,如有必要,也可调用其他函数(函数的嵌套)
  • 函数内部工作对程序的其它部分是不可见的

2、  实现一个函数要经过3个步骤:定义、声明、调用

函数声明(又称函数原型)的原因:用来通知编译器函数的存在,以获得函数的使用许可,只有这样,才能在程序中对函数进行调用。

具体来说,函数声明的作用如下:

  • 使编译器正确处理返回值
  • 使编译器可以检查输入参数的数目
  • 使编译器检查输入参数的类型,如果类型不正确,则对类型进行隐式转换

函数调用的作用如下:

  • 用实参向形参传递数据
  • 为获得数据的参数和函数中为声明的变量分配临时存储空间
  • 中断当前正在运行的上级调用函数,将程序流程转到被调用函数的入口处

3、分割程序文件

    一些程序常由许多文件组成,为了方便管理,经常将函数定义在cpp文件中,而将函数声明语句放在与cpp文件同名的头文件中(.h文件),这样就可以通过编译器预处理

#include "xxx.h"来实现函数的声明,这种方法在大型程序文件的组织中非常常见。

如:

主程序:example.cpp

#include<iostream>
#include<stdlib.h>

#include "func.h"  //通过编译预处理,实现函数的声明

using namespace std;

int main()
{
    int num1,num2;
    int z;
    cout<<"请输入两个整数:";
    cin>>num1>>num2;
    cout<<"输入的两个数的和为:";
    z=add(num1,num2);
    print(z);
    cout<<"输入的两个数的较大值为:";
    z=max(num1,num2);
    print(z);    
    cout<<"输入的两个数的较小值为:";
    z=min(num1,num2);
    print(z);

    system("pause");
    return 0;

}

函数功能:func.cpp

#include<iostream>

using namespace std;

int add(int x,int y)
{
    int z;
    z=x+y;
    return z;
}

int max(int x,int y)
{
    int z;
    if(x>y)
        z=x;
    else
        z=y;
    return z;
}

int min(int x,int y)
{
    int z;
    if(x>y)
        z=y;
    else
        z=x;
    return z;
}

void print(int x)
{
    cout<<x<<endl;
}

函数声明:func.h

int add(int x,int y);
int max(int x,int y);
int min(int x,int y);
void print(int x);

原文地址:https://www.cnblogs.com/kkdd-2013/p/3317164.html