关于C语言。指针地址的问题

关于C语言。指针地址的问题

问题描述:

img
想问一下各位大佬,为什么输出的指针的地址一直没有变化,但是指针指向的内容却改变了。

printf("%d,%d",*p,&p);

改成

printf("%d,%d",*p,p);

p是指针,p中存放的值就是p所指向的地址,
你要直接输出p
printf("%d,%d",*p,p);

而&p是获取p指针变量本身的地址,也就是存放"所指向的地址"这个值的地址, 这个是固定不变的

p在内存里有地址。
p的值能指向另一个地址。

p本身已经是指针了,&p相当于拿到了指针本身的地址,这个地址是不变的,因为它指向的是指针p
想打印p所指向的地址直接print(%d,p)即可
有帮助望采纳

for循环中怎么有个p=a,这p不一直指向a首地址啊
有帮助望采纳