返回信息流数组名不能用自增自减,是因为它是左值!
现在觉得数组和指针差别太大了,经常说的:数组名可以看成一个指针,是不对的。两者只是形似,指针的 *(a+1)和数组的*(a+1)本质是不同的。
问题很简单,别说我是灌水..
这是一条镜像帖。来源:北邮人论坛 / soft-design / #2746同步于 2005/12/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
恍然大悟!
sunway
2005/12/26镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
是啊,我也刚发现这个问题,位运算也不行,最后只能新建一个数组,指针指向第二个元素
【 在 sunway (sunway) 的大作中提到: 】
: 数组名不能用自增自减,是因为它是左值!
: 现在觉得数组和指针差别太大了,经常说的:数组名可以看成一个指针,是不对的。两者只是形似,指针的 *(a+1)和数组的*(a+1)本质是不同的。
: 问题很简单,别说我是灌水..
: ...................
对于数组名,如int a[],a和&a是一样的,都是a的地址。但对于 int *a, a和&a是不一样的,&a是指针本身在内存的地址,a是&a那块地址存的东西,即指针指向的地址。
所以数组和指针是不一样的。把数组名作为指针操作,始终都是操作它的左值。而对真正指针的操作,是操作它的右值。
ps.不知道我对左值 右值的理解是不是错的。我认为左值是变量的地址,右值是变量的值。
【 在 Neverwinter (Sci-Fi SG Atlantis) 的大作中提到: 】
: type* const pointer