求教大神解释一下
小白在书上看到一个指针解释,但是我按照书上编程,结果发现好像有点不一样,请教大神解释一下。不知道是不是我理解错了,我理解为urn数组的地址被记录在ptr1指针的值,但是ptr1的地址应该和数组的值应该不一样啊,我按照书上的程序编出来结果指针地址和数组地址一样了........是我哪里理解错了么#include<stdio.h>
int main(void)
{
int urn[5]={100,200,300,400,500};
int *ptr1,*ptr2,*ptr3;
ptr1=urn;
ptr2=&urn[2];
printf("pointer value, dereferenced pointer, pointer address:\n");
printf("ptr1=%p, *ptr1=%d, ptr1=%p\n",ptr1,*ptr1,&ptr1);
printf("ptr2=%p, *ptr2=%d, ptr2=%p\n",ptr2,*ptr2,&ptr2);
printf("urn[0]address=%p\n",&urn[0]);
printf("urn[2]address=%p",&urn[2]);
return 0;
}