今天在论坛上看到的一段代码 ,刚开始没明白结果为什么是显示5,然后就自己调试了一翻,
想看下到底是怎么回事。呵呵,终于知道了结果,对指针,数组,地址又多学习到了一点点
(&a+1)在这个地方表示的是增加一整个数组所占用的内存大小,即:
&a表示数组a[5]的首地址,那么(&a+1)就表示a[5]数组最后一个元素的地址之后的一个地址
而ptr = &a+1;所以*(ptr-1)就是a[5]数组的最后一个元素。
今天在论坛上看到的一段代码 ,刚开始没明白结果为什么是显示5,然后就自己调试了一翻,
想看下到底是怎么回事。呵呵,终于知道了结果,对指针,数组,地址又多学习到了一点点
(&a+1)在这个地方表示的是增加一整个数组所占用的内存大小,即:
&a表示数组a[5]的首地址,那么(&a+1)就表示a[5]数组最后一个元素的地址之后的一个地址
而ptr = &a+1;所以*(ptr-1)就是a[5]数组的最后一个元素。