关于指针指向的地址
看一本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的地址
----------------解决方案--------------------------------------------------------