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--就不难理解了。
本文详细解释了指针变量的算术运算原理,重点介绍了指针加减运算的特殊处理方式,通过实例展示了指针如何通过加减操作来指向数组的不同元素。
3229

被折叠的 条评论
为什么被折叠?



