问题描述:
在c语言中,有如下式子:int a[5],*pa=a; pa+=2; 他说:*pa=a+2*2=a+4,而不是=a+2 这是为什么呢?
这个问题,在《c语言程序设计教程》书上有原题,我只是不懂pa为什么等于a+4而不是a+2.可是在后面的章节中,又出现了*(pa+n)和*(a+n)表示为数组的各元素即等效于
a[n].为什么会矛盾呢?而且书上有这样的一句话:数组指针变量向前或向后移动一个位置,和地址加1或减1在概念上是不同的.何解?
这个问题,在《c语言程序设计教程》书上有原题,我只是不懂pa为什么等于a+4而不是a+2.可是在后面的章节中,又出现了*(pa+n)和*(a+n)表示为数组的各元素即等效于
a[n].为什么会矛盾呢?而且书上有这样的一句话:数组指针变量向前或向后移动一个位置,和地址加1或减1在概念上是不同的.何解?
问题解答:
我来补答展开全文阅读