如果定义一个指针且指向一个已经确定指针的首地址,那么这个刚定义指针的改变会影响原来的指针吗?

如题所述

楼主你的问法就有问题,指针怎么能指向首地址呢?,指针就是指针,它是一个固定的‘值’,它不能指向一个地址更加不能赋值。你主要还是没弄清楚什么是指针,二级指针你当然也弄不懂了呀。我想说的是int *p,这里的p只是一个指针变量,它并不是什么指针。什么是指针?指针就是地址,地址就是指针,它是一个不可改变的值。如果int i.这里i的首地址告诉你是0x12ff7c(在VC6.0里定义的整形变量i的首地址就是这个,其他的软件可能不一样)那么这个0x12ff7c就是指针,想一想它能够指向仪个地址吗,能给它赋值吗,它只是一个固定的地址是不可改变的哦。我完全可以这么改变i的值:*((int*)0x12ff7c)=5(我先告诉系统0x12ff7c是一个整形变量的首地址(也就是指针),然后改变它的值),这时i就等于5,不信你可以去VC6.0上试试。你上面的问题其实很简单,你先把指针好好看看,别指针都没弄懂就去看二级指针,你指针懂了二级指针自然也会了,还有看指针的时候一定要牢记住指针就是指针它和指针变量是有本质的区别的。如果还有疑问可以追问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-24
刚定义指针如果改变的是指针指向,则不会影响原来的指针
刚定义指针如果改变的是指针的内容,则会影响刚才原来的指针的内容
第2个回答  2012-08-24
这个要看你改变的方法. 采用 ** 改变 还是 *改变?
相似回答