面试题答案
一键面试指针作为函数参数传递的常见应用场景:
- 修改外部变量的值:函数需要修改调用者提供的变量的值时,通过传递指针,函数内部可以直接操作该变量。
- 传递大型数据结构:对于结构体、数组等大型数据结构,传递指针可以避免大量的数据拷贝,提高效率。
- 实现回调函数:在一些需要回调机制的场景中,通过指针传递函数地址作为参数。
示例代码:
#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
函数后再次输出,展示变量值的改变。