取地址符(&) 和 取值符(*)
(1)& 运算符 :用于取一个对象的地址
例如:int *p; p = &c; 将c的地址赋值给指针变量p,我们称p为 “指向” c的指针。
取地址运算符只能用于内存中的对象,即变量与树组元素,它不能作用于表达式、常量或register类型的变量。
(2)* 运算符:作用于指针时表示访问指针所指向的对象
例如:int x; x = *p; 将p指向的地址所对应的对象赋值给x,所以 x 就等于c的值
(3)& 与 * 使用示例:
int x = 1, y = 2, z[10];
int *ip; //ip is a pointer to int
指针简介
指针:一种保存变量地址的变量。
声明形式: 数据类型 *指针名;
例如:int *p; //声明了一个int型的指针变量p
注意:指针只能指向某种特定类型的对象,也就是说,每个指针都必须指向某种特定的数据类型。(一个例外情况跟是指向void类型的指针可以存放指向任何类型的指针,但它不能间接引用其自身)
由于指针也是变量,所以在程序中可以直接使用,而不必通过间接引用的方法使用。
例如 如果iq是另一个指向整型的指针,那么语句 iq = ip 将把ip中的值拷贝到iq中,这样,指针iq也将指向ip指向的对象