这里的p
是一个整型指针,可以保存int
变量的地址,但它也有一个内存地址——存放它的地方。
让
数组的基址 a = 1002
指针地址 p = 2008
当我们写:int *p=a;//p指向数组a的基址
和 int **r=&p;//表示*r指向p的地址
*r
如何指向a
的地址,应该指向p
的地址。
#include <stdio.h>
void main()
{
int a[3] = {1, 2, 3};
int *p =a;
int **r = &p;
printf("%p %p", *r, a);
}
最佳答案
您的 printf
不正确。它应该是 r
打印地址 r
指向:
printf("%p %p", r, a);
通过使用 *r
,您可以引用 r
(即跳转到 r
指向的地址),从而打印地址一个
。
关于c++ - 保存数组地址的指针地址如何相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31675469/