[bo][un]skysky198344[/un] 在 2008-11-8 23:53 的发言:[/bo]
你说的好像没有道理,在银行排队,你的位次和你是一一对应的关系,但是在内存中,内存地址和存储的数据却不是一一对应的关系,它随着数据的类型来变化。如果是字符型或短整型的当然可以。我的一点见解,请思考并予以 ...
内存地址和数据是多对1的关系,就像银行排队一样,位置和人就不是一对一,如果你胖一些,那么你占了两个位置,两个位置上都是你,这样的话你还能说是一对一么?
你就简单理解,指针加一,就是指针的数值加上指针所指向类型的大小,也就是
p + 1 == (int)p + sizeof(*p)
一般来说int长度为CPU字长,也即指针长度,所以上面的式子一般来说是对的,不放心的话,用long也可以:
p + 1 == (long)p + sizeof(*p)
反正就是这么个意思。