`
ribishuangba
  • 浏览: 290310 次
文章分类
社区版块
存档分类
最新评论

指针部分释疑之一:指针的实质(续)

 
阅读更多

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--就不难理解了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics