指针究竟是什么
- 指针是一类特殊的变量,他保存的不是一般数据的值,而是程序中另一对象在内存中的地址我们先通过一个小程序看一看指针如何工作
#include <iostream>
using namespace std;
int main(){
int n = 123,m = 456;
int *p = &n;
cout<<"&n:"<<&n<<endl;
cout<<"&p:"<<&p<<endl;
cout<<" p:"<<p<<endl;
cout<<"*p:"<<*p<<endl;
return 0;
}
从运行结果可以看出下面几点:
- p本身是有一个地址的且地址为 &p
- p的值是另一个变量n的地址 &n
- *p所表示的意思是地址为 p 的内存中所存的值 n
- 即本段程序中共涉及到2个地址,一个是 n 的地址,一个是 p 的地址,我们用一张图来表示他们的关系