C语言。。&a[0]+1与&a[0]++有什么区别?&优先于++?

还有类似的*P++,*(P++),*++P等。。区别。。。

第1个回答  2010-03-20
指针运算符的作用,我用一言以概之,你在哪里使用都不会错。指针运算符*的作用是求出*后面所指地址里的值。因此只要*后面的变量表示的是一个地址就可以使用*运算符,来求出这个地址中的值,你不用管这个地址的表示形式是怎样的,只要是地址就可以使用*来求出地址中的值。

第二:[ ]这个运算符的的运算法则是,把左侧的地址加上[ ]内的偏移量然后再求指针运算,注意有[ ]运算符的地方就有个隐含的指针,比如x[2]表示的就是将指针x偏移2个单位量后再求指针运算。也就说x[2]与*(x+2)是相等的。本回答被提问者采纳
第2个回答  2010-03-21
&a[0]+1表示二维数组第一行第二个元素地址即a【0】【1】地址,而&a[0]++表示一维数组a【1】的地址。
相似回答