我是传奇优酷:在C语言里面,&a[0]++和&a[0]+1不是一个意思吗?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 00:50:57
在C语言里面,&a[0]++和&a[0]+1不是一个意思吗?如果他们不是一个意思,那么他们分别表示什么意思呢?

&a[0]++与&(a[0]++)等价,无法编译通过,编译错误如下:
main.cpp:6: non-lvalue in unary `&'
表示a[0]++不是一个左值,不能取得地址。
而&a[0]+1与a+1和&a[1]是等价的,都是取得数组a的第二个元素的地址。

++和--都是有副作用的操作符。

&a[0]++是赋值语句
&a[0]+1是运算式