21xrx.com
2025-06-19 15:06:12 Thursday
文章检索 我的文章 写文章
C++ 函数中的指针传递
2023-07-04 23:55:14 深夜i     25     0
C++ 函数 指针传递 参数 引用参数

C++ 中,函数通过指针传递参数是一种常见的方式。指针传递可以让函数修改调用方提供的参数,而不需要进行额外的复制操作。这样可以降低内存的消耗,提高程序的效率。

指针传递的语法非常简单,直接在函数参数的类型前加上指针符(*)即可。例如,下面的函数通过指针传递参数:

void swap(int *a, int *b) {
 int temp = *a;
 *a = *b;
 *b = temp;
}

在以上代码中,函数接收两个 int 类型的指针作为参数,通过解引用(*)访问指针所指向的变量。这个函数实现了两个变量的交换。

调用这个函数时,我们需要使用取地址符(&)来获取变量的地址(即指针),然后将其传递给函数:

int main() {
 int x = 10, y = 20;
 swap(&x, &y);
 // 现在 x = 20,y = 10
 return 0;
}

在函数内部进行交换后,变量 x 和 y 的值都被改变了。

需要注意的是,在指针传递时,函数可能会改变指针所指向的变量的值。因此,如果我们希望保留原有变量的值,可以将指针声明为 const,即:

void func(const int *p)
 // ...

在这个函数中,参数 p 被声明为指向常量整数的指针,在函数内部不允许修改 p 指向的变量的值。

指针传递是 C++ 中非常重要的语法。通过指针传递参数,可以让函数更加高效地操作数据,并且可以减少内存的占用。因此,我们应该尽可能地运用指针传递,来提高程序的效率。

  
  

评论区