3.函数的形参和实参

3.函数-形参和实参


3.1 知识点

什么是形参和实参

形参(形式参数)是在函数内部使用的函数参数,它在函数定义时被指定,并在函数内部使用。

举个例子:

int add(int a, int b)  
{  
    return a + b; //a 和 b 是形参  
}

实参(实际参数)是在函数外部传入的参数,在调用函数时传递给形参的具体值,通常定义在函数外部。

举个例子:

int result = add(5, 10); //5和10就是实参

简单记忆:

  • 函数内部使用的函数参数可以称为形参
  • 函数调用时传入的参数称为实参

例如:

int result = add(5, 10); //5和10就是实参  
int a = 10;  
int b = 20;  
result = add(a, b);

形参和实参的关系

形参是实参的内容拷贝,在内存中有自己的存储空间,二者互不影响。

值传递

对于基础数据类型,实参的值会被拷贝到形参,形参和实参的存储空间是彼此独立的。它们唯一的联系是初始值一致,因为在调用函数时,会将实参的内容拷贝给形参。

然而,由于它们存放在不同的内存“房间”中,所以彼此独立。如果你去修改形参,是不会影响实参的!

举个例子:

void changeValue(int c)  
{  
    c = 999;  
    cout << "形参值:" << c << endl;
}  

int c = 10;  
changeValue(c); //形参值:999  
cout << "实参值:" << c << endl; //实参值:10

引用传递

传递内存地址,之后学了指针更好理解


3.2 知识点代码

Lesson03_函数_形参和实参.cpp

#include <iostream>
using namespace std;

int add(int a, int b);
void changeValue(int a);

int main()
{
    std::cout << "形参和实参\n";

    #pragma region 知识点一 什么是形参和实参

    int result = add(5, 10); //5和10就是实参
    int a = 10;
    int b = 20;
    result = add(a, b);

    #pragma endregion

    #pragma region 知识点二 形参和实参的关系

    int c = 10;
    changeValue(c);//形参值:999
    cout << "实参值:" << c << endl;//实参值:10

    #pragma endregion
}

#pragma region 知识点一 什么是形参和实参

//形参:形式参数
// 在函数内部使用的函数参数称为形参
// 它在函数定义时被指定,并在函数内部使用
//举例:
int add(int a, int b)
{
    return a + b; //a 和 b 是形参
}

//实参:实际参数
// 在函数外部传入的参数称为实参
// 在调用函数时传递给形参的具体值,通常定义在函数外部
//举例:
// int result = add(5, 10); //5和10就是实参

//简单记忆:
//函数内部使用的函数参数可以称为形式参数(形参)
//函数调用时传入的参数称为实际参数(实参)

#pragma endregion

#pragma region 知识点二 形参和实参的关系

//形参是实参的内容拷贝,在内存中有自己的存储空间
//形参和实参的存储空间是彼此独立的

//概念:值传递
//对于基础数据类型,实参的值会被拷贝到形参,二者互不影响
//形参和实参唯一的联系 就是 他们的初始值是一致的
//因为在调用函数时 会将实参的内容拷贝给我们的形参 因此他们的初始值一致
//但是由于它们存放在不同的内存“房间”中 因此彼此独立 如果你去修改形参 是不会影响实参的!!!!
void changeValue(int c)
{
    c = 999;
    cout << "形参值:" << c << endl;;
}

#pragma endregion

3.3 练习题

请解释形参和实参的关系?

形参(形式参数):是函数声明时的函数参数,用来接收调用时传入的值,在函数内部使用的参数

实参(实际参数):是调用函数时传入的具体值,一般出现在函数外部出现

在调用函数时,实参的值会被传递(拷贝)给形参,目前我们学习的知识是通过值传递的,即形参和实参只是初始值相同,但彼此的存储空间是相互独立的,互不影响的。



转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏