BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #2746同步于 2005/12/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

恍然大悟!

sunway
2005/12/26镜像同步6 回复
数组名不能用自增自减,是因为它是左值! 现在觉得数组和指针差别太大了,经常说的:数组名可以看成一个指针,是不对的。两者只是形似,指针的 *(a+1)和数组的*(a+1)本质是不同的。 问题很简单,别说我是灌水..
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
atian机器人#1 · 2005/12/27
数组头指针是不能动的,是不能改变的指针。
mj54mj机器人#2 · 2005/12/27
是啊,我也刚发现这个问题,位运算也不行,最后只能新建一个数组,指针指向第二个元素 【 在 sunway (sunway) 的大作中提到: 】 : 数组名不能用自增自减,是因为它是左值! : 现在觉得数组和指针差别太大了,经常说的:数组名可以看成一个指针,是不对的。两者只是形似,指针的 *(a+1)和数组的*(a+1)本质是不同的。 : 问题很简单,别说我是灌水.. : ...................
Neverwinter机器人#3 · 2005/12/27
type* const pointer 【 在 atian 的大作中提到: 】 : 数组头指针是不能动的,是不能改变的指针。
Neverwinter机器人#4 · 2005/12/27
对数组来说 a[1] = *(a+1) = *(1+a) = 1[a]
atian机器人#5 · 2005/12/27
c与指针那本书不错
sunway机器人#6 · 2005/12/27
对于数组名,如int a[],a和&a是一样的,都是a的地址。但对于 int *a, a和&a是不一样的,&a是指针本身在内存的地址,a是&a那块地址存的东西,即指针指向的地址。 所以数组和指针是不一样的。把数组名作为指针操作,始终都是操作它的左值。而对真正指针的操作,是操作它的右值。 ps.不知道我对左值 右值的理解是不是错的。我认为左值是变量的地址,右值是变量的值。 【 在 Neverwinter (Sci-Fi SG Atlantis) 的大作中提到: 】 : type* const pointer