加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c++之函数

发布时间:2020-12-16 09:05:27 所属栏目:百科 来源:网络整理
导读:作用:将一段常用的代码封装起来,减少重复代码; 函数定义5个步骤:返回值类型、函数名、参数列表、函数体语句、return表达式 int add( int num1, int num2){ int res = num1 + num2; return res; } 一、函数声明 通过函数声明,表明有这么一个函数存在: #

作用:将一段常用的代码封装起来,减少重复代码;

函数定义5个步骤:返回值类型、函数名、参数列表、函数体语句、return表达式

int add(int num1,int num2){
    int res = num1 + num2;
    return res;  
}

一、函数声明

通过函数声明,表明有这么一个函数存在:

#include<iostream>
using namespace std;
//函数声明,可以只声明参数的类型
//由于进行了函数声明,虽然max函数在主函数之后,此时仍然是可以被调用的
int max(int,1)">); main() { int a = 1; int b = 2int res = max(a,b); cout << res << endl; system("pause"); return 0; }
//函数定义
int a,1)"> b) { int res = a > b ? a : b; res; }

函数可以声明多次,但是只可以定义一次。

二、函数的分文件编写

函数分文件编写一般有以下四个步骤:

  • 创建后缀名为.h的头文件
  • 创建后缀名为.cpp的源文件
  • 在头文件中写函数声明
  • 在源文件中实现函数定义

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

目录结构:

?max.h

#include<iostream>
 std;
int);

second.cpp

#include max.h"


;
}

 res;
}

三。值传递和引用传递

1.值传递

什么是值传递?

在函数调用时将实参的值传递给形参;

有什么特点?

值传递时,如果形参发生变化,则不会影响原来实参的值。

#include <iostream>
 std;

void swap( num2) {
    cout << 交换之前num1的值:" << num1 << endl;
    cout << 交换之前num2的值:" << num2 << endl;
    int tmp = num1;
    num1 = num2;
    num2 = tmp;
    cout << 交换之后num1的值:交换之后num2的值: endl;
}

 main() 
{
    ;
    cout << 实参未传入之前a的值:" << a <<实参未传入之前b的值:" << b << endl;
    swap(a,b);
    cout << 实参传入之后a的值:实参传入之后b的值:;
}

输出:

2.引用传递

什么是引用传递?

在函数调用时将实参的引用(即指针)传递给形参;

引用传递的特点?

引用传递时,如果形参发生变化,则同时会影响原来实参的值。

#include <iostream>
int* num1,1)">int*" << *num1 <<" << *num2 <<int tmp = *num1;
    *num1 = *num2;
    *num2 = endl;
}


int* p1 = &a;
    int* p2 = &b;
    cout <<  endl;
    swap(p1,p2);
    cout << ;
}

输出:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读