非常有用的一个前提概念:变量的指针就是变量的地址。
指针变量的定义:存放变量地址的变量是指针变量,它用来指向另一个变量。
PS:指针变量只能存放地址(指针)。
与指针有关的两个运算符:
1.&:取地址运算符;
2,.*:指针运算符,作用取指针所指向的对象的内容。
int a = 3; //initialization (初始化)
int *pointer;
pointer = &a; //&a为变量a的地址
cout<<*pointer<<endl; //*pointer为指针变量pointer所指向的存储单元的内容(即pointer所指向的变量a的值3)
上例中的*pointer等同于a.
定义指针变量的一般形式:基类型 *指针变量名;
int *pointer; //pointer是一个指向整型变量的指针
使指针指变量向一个变量的方法:可以使用赋值语句使一个指针变量得到一个变量的地址,从而使它指向那个变量。
int i = 3; // initialization (初始化)
int *pointer_i;
pointer_i = &i; //此时指针变量pointer_i指向变量i
三个有趣的小例子:
int a = 3; //initialization(初始化)
int *pointer;
pointer = &a;
(1)
&*pointer的含义是什么?
(2)
*&a的含义是什么?
(3)
(*pointer)++ 与 *pointer++的区别?