MST

星途 面试题库

面试题:C++ 中指针在函数参数传递的应用场景

在 C++ 中,描述指针作为函数参数传递的常见应用场景,并举例说明如何通过指针传递参数来改变函数外部变量的值。
23.1万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

指针作为函数参数传递的常见应用场景:

  1. 修改外部变量的值:函数需要修改调用者提供的变量的值时,通过传递指针,函数内部可以直接操作该变量。
  2. 传递大型数据结构:对于结构体、数组等大型数据结构,传递指针可以避免大量的数据拷贝,提高效率。
  3. 实现回调函数:在一些需要回调机制的场景中,通过指针传递函数地址作为参数。

示例代码:

#include <iostream>

// 通过指针传递参数来改变函数外部变量的值
void changeValue(int* num) {
    if (num != nullptr) {
        *num = *num * 2;
    }
}

int main() {
    int value = 5;
    std::cout << "Before function call: " << value << std::endl;
    changeValue(&value);
    std::cout << "After function call: " << value << std::endl;
    return 0;
}

在上述代码中,changeValue 函数接受一个 int 类型的指针作为参数,在函数内部通过解引用指针修改了外部变量 value 的值。main 函数中先输出变量 value 的初始值,调用 changeValue 函数后再次输出,展示变量值的改变。