c++函数中的指针参数与地址参数区别介绍


在C++中,指针参数和地址参数这两个概念在本质上紧密相关,但在使用上有所不同,主要体现在它们如何被函数接收和如何操作它们所指向的数据。然而,通常我们所说的“地址参数”并不是一个严格的技术术语,它更多是在描述参数如何接收或传递一个地址,而这个地址通常是通过指针来传递的。

### 指针参数

指针参数是指函数参数是一个指针类型。当我们将一个变量的地址作为实参传递给一个函数时,该函数的形参将是一个指针,它存储了这个变量的地址。在函数内部,我们可以通过这个指针来访问或修改它所指向的变量的值。


void modifyValue(int* ptr) {
    *ptr = 10; // 修改指针所指向的值
}

int main() {
    int x = 5;
    modifyValue(&x); // 传递x的地址给函数
    std::cout << x; // 输出: 10
    return 0;
}

### 地址参数(非正式描述)

实际上,在C++中并没有直接的“地址参数”这一术语。我们通常是通过指针来传递地址的。但是,为了回答你的问题,可以将其理解为一种概念:即当我们将一个变量的地址作为参数传递给函数时,这个地址可以被函数内部通过某种方式(如指针)来接收和操作。

### 关键点

- **指针参数** 是明确的C++语法元素,用于在函数间传递地址。

- **地址参数** 可以视为一个概念,即传递变量的地址给函数,而这种传递通常是通过指针参数来实现的。

- 在函数内部,你可以通过解引用指针(`*ptr`)来访问或修改它所指向的变量的值。

总结来说,在C++中,我们通常通过指针参数来传递变量的地址给函数,以便在函数内部访问或修改这些变量的值。而“地址参数”这一表述虽然不常见,但可以理解为通过指针来传递地址的概念。