当前位置: 代码迷 >> C语言 >> 关于指针指向的地址
  详细解决方案

关于指针指向的地址

热度:218   发布时间:2006-01-27 23:08:00.0
关于指针指向的地址
看一本C的书上举的例子:
如果已经执行了不得 pointer_1=&a
再有&*pointer_1

意思表达的是什么?

我是这么想的:通过pointer_1=&a,表示pointer_1这个变量的“值”(不知道这样说对不对)是变量a的地址,而*pointer_1是一个指针,&是取地址的运算符号,那么&*pointer_1表示的不应该是&*pointer_1的地址吗?
书上说不是,我不知道我错在哪里?望众高人指点。

谢谢!

----------------解决方案--------------------------------------------------------
楼主混淆了*的意思。指针运算符*和指针变量说明中的指针说明符* 不是一回事。在指针变量说明中,“*”是类型说明符,表示其后的变量是指针类型。而表达式中出现的“*”则是一个运算符用以表示指针变量所指的变量。

----------------解决方案--------------------------------------------------------
。。。。。。。。。。。
这个表达式&*pointer_1
你把它看成&(*pointer_1)
这么看的原因是运算付的结合顺序,
*pointer_1表示的是a
那个这个式子表示的就是a的地址
----------------解决方案--------------------------------------------------------
  相关解决方案