1、通过一个指针访问它所指向的地址的过程称为间接访问或解引用指针。这个用于执行简介访问的操作符是单目操作符。
2、*&a = 25; 将25赋值给变量 a 。&操作符产生变量 a的地址,它是一个指针常量(这个指针常量并不需要知道它的实际值),* 操作符访问其操作数的所表示的地址。
3、指针常量
假定变量 a 存储于位置100,*100 = 25; 这条语句是错误的,因为字面值100的类型是整型,而间接访问操作数只能作用于指针类型表达式。如果确实想把25存储于位置100,必须使用强制类型转换。 *(int *)100 =25; 强制类型转换把值100从“整型”转换成“指向整型的指针”,这样对它进行间接访问就是合法的。
4、指针的算数运算:
1)指针 +(-)整数:
表示从当前指针位置向前或向后移动该指针类型所占字节数个字节。
2)指针 - 指针
当两个指针都指向同一数组中的元素时,才允许从一个指针减去另一个指针,如 float array[5]; p1 指向 array[i], p2指向 array[j], 那么p2 - p1 的值就是 j - i 的值。
5、指针的关系运算:
当两个指针都指向同一个数组中的元素时,用关系运算符( < <= > >=)对指针进行比较也是可能的。