我想用"p->m_iX = 某值;"來進(jìn)行賦值,在更新指針"++p"時(shí),正好看下p指向的地址和p[i]的地址是否一樣,結(jié)果卻并不相同,為什么?
int?main()?{ ????//堆實(shí)例化 ????Coordinate?*p?=?new?Coordinate[3]; ????printf("數(shù)組的第1個(gè)元素的地址:%x\n",?p); ????printf("數(shù)組的第1個(gè)元素的地址:%x\n\n",?&p[0]); ????++p; ????printf("數(shù)組的第2個(gè)元素的地址:%x\n",?p); ????printf("數(shù)組的第2個(gè)元素的地址:%x\n\n",?&p[1]); ????++p; ????printf("數(shù)組的第3個(gè)元素的地址:%x\n",?p); ????printf("數(shù)組的第3個(gè)元素的地址:%x\n\n",?&p[2]); }
結(jié)果是:
數(shù)組的第1個(gè)元素的地址:3bc04b60 數(shù)組的第1個(gè)元素的地址:3bc04b60 數(shù)組的第2個(gè)元素的地址:3bc04b68 數(shù)組的第2個(gè)元素的地址:3bc04b70 數(shù)組的第3個(gè)元素的地址:3bc04b70 數(shù)組的第3個(gè)元素的地址:3bc04b80
為什么只有第一個(gè)元素的p和&p[0]指代的地址相同?
2015-06-16
如果你采用++p了,那么你這個(gè)時(shí)候就不能使用p[1]或者是p[2]了,這個(gè)時(shí)候,你應(yīng)該是用p[0],如果你不用++p的話,那么你就可以用你現(xiàn)在這個(gè)方法了