发布网友 发布时间:2022-04-30 17:03
共5个回答
热心网友 时间:2022-06-29 21:22
int x,*p=&x;//定义了一个整形变量x,和一个整形指针p,p指向x.
&*p,即&(*p),*p解引用,得到x本身,&取地址,得到x的地址,所以&*p根&x的值是一样的。
看图:
热心网友 时间:2022-06-29 21:23
只是一个运算符的先后问题,你这样写或许你自己会清晰,但是给其他维护人员是很不舒服的虽然没有错,劝你以后还是这么写&(*p),这样是不是很清晰,这里附上测试代码就更清晰了
那个p不要管他为什么是-40,你只要知道它是x所在的内存地址就行,你把%d换成%x就知道了
来自:求助得到的回答热心网友 时间:2022-06-29 21:23
P指向X P是X的地址, *P代表间接访问P所指向的内存也就是x 然后取&应该就是X的地址,不可能是x 这是个右值热心网友 时间:2022-06-29 21:24
定义时:热心网友 时间:2022-06-29 21:24
&*p 就取x的地址,就是p的值,所以&*p 等同于 p