C++函数

C++函数,第1张

C++函数 C++函数

用于将一段经常使用的代码封装起来,减少重复代码。一个较大的程序中,一般分为若干个程序块,每个程序块实现特定的功能。

函数的定义

函数的定义一般有5个步骤:

  1. 返回值类型
  2. 函数名
  3. 参数表列,参数可有可无
  4. 函数体语句
  5. return表达式,返回值可有可无

语法:

返回值类型 函数名 (参数列表)
{
	函数体语句;
	return表达式;
}
#include
using namespace std;

// 定义一个两数相加的函数
// 函数定义时,num1和num2并没有真实数据,只是形式上的参数,简称形参
int add(int num1, int num2) {
    int sum = num1 + num2;
    return sum;
}

int main(){
    
    system("pause");
    return 0;
}
函数的调用

函数调用语法:

函数名(参数);

#include
using namespace std;

// 定义函数
int add(int num1, int num2) {
    int sum = num1 + num2;
    return sum;
}

// 在main函数中调用add函数
int main(){
    int a = 10, b = 20;
    
    int c = add(a, b);
    
    cout << "c = " << c << endl;
    
    system("pause");
    return 0;
}
值传递

所谓值传递,就是函数调用时实参将数值传入给形参

值传递时,如果形参发生改变,并不影响实参

#include
using namespace std;

// 定义一个函数,实现两个数字进行交换函数
// 如果函数不需要返回值,声明的时候可以写void
void swap(int num1, int num2) {
    cout << "交换前num1 = " << num1 << endl;
    cout << "交换前num2 = " << num2 << endl;
    
    int temp = num1;
    num1 = num2;
    num2 = temp;
    
    cout << "交换后num1 = " << num1 << endl;
    cout << "交换后num2 = " << num2 << endl;
    
    // return;    // 无返回值可以不写return,也可以写return不跟任何返回值
}

int main() {
    int a = 10, b = 20;
    // a b的值给到形参num1 num2的内存空间,不影响a b本身内存空间里的值
    swap(a, b);
    
    cout << "a = " << a << endl;    // 输出结果为10
    cout << "b = " << b << endl;    // 输出结果为20
    
    system("pause");
    return 0;
}
函数的声明

用于告诉编译器函数名称及如何调用函数。函数的实际主题可以单独定义

  • 函数的声明可以多次,但是函数的定义只能有一次
#include
using namespace std;

// 以前告诉编译器函数的存在,可以利用函数的声明
// 函数的声明:
int max(int a, int b);
// 声明可以写多次(但没必要),但是函数的定义只能有一次
int max(int a, int b);
int max(int a, int b);

int main() {
    int a = 10, b = 20;
    cout << max(a,b) << endl;
    system("pause");
    return 0;
}


// 函数定义于调用之后,若没有提前声明将报错
// 只要在调用之前声明函数,定义函数可以写在任何位置,包括写于调用前
int max(int a, int b) {
    return a > b ? a : b;
}
函数的分文件编写

作用:让代码结构更加清晰

函数份文件编写一般有4个步骤:

  1. 创建后缀名为.h的头文件

  2. 创建后缀名为.cpp的源文件

  3. 在头文件中写函数的声明

  4. 在源文件中写函数的定义

// swap.h头文件
#include
using namespace std;

void swap(int a, int b);
// swap.cpp源文件

// 关联头文件swap.h,自定义的头文件用双引号
#include "swap.h"

void swap(int a, int b) {
    int temp = a;
    a = b;
    b = temp;
}
// main()函数所在的源文件
#include
// 关联头文件
#include "swap.h"
using namespace std;

int main() {
    int a = 10, b = 20;
    // 调用函数
    swap(a, b);
    
    system("pause");
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5098046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存