C++ 中指针的使用与内存管理
1. 指针作为函数参数
在 C++ 里,把指针当作函数参数传递,在某些方面和传递引用类似,两者都允许函数对调用程序里的变量进行修改。不过,它们的机制有所不同。引用是原始变量的别名,而指针是变量的地址。
2. 数组传递
以往我们看到过不少把数组当作参数传递给函数,且函数能访问其元素的例子。在没学习指针之前,通常采用数组表示法来实现。但在把数组传递给函数时,更常用的是指针表示法。下面的 PASSARR
程序展示了具体做法:
// passarr.cpp
// array passed by pointer
#include <iostream>
using namespace std;
const int MAX = 5; //number of array elements
int main()
{
void centimize(double*); //prototype
double varray[MAX] = { 10.0, 43.1, 95.9, 59.7, 87.3 };
centimize(varray); //change elements of varray to cm
for(int j=0; j<MAX; j++) //display new array values
cout << "varray[" << j << "]="
<< varray[