2.指针的算术运算
指针变量也可以进行算术运算,但只能进行加上或减去一个整数操作。不过,这种加减运算和我们学习算术运算符的加减操作还是有很大区别的。
int a[10] ;
int *p = a ;
p++ ;
上例中,在上例中,指针p的类型是int *,它指向的类型是int,它被初始化为指向整型数组名a。接下来的第3句中,指针p被加了1,编译器是这样处理的:它把指针p的值加上了sizeof(int),在VC程序中,是被加上了4。由于地址是用字节做单位的,故p所指向的地址由原来的数组a的首地址向高地址方向增加了4个字节。即原来p指向的是a[0]的地址,而现在变成了指向[1]的地址。
同理,p--就不难理解了。