# include<stdio.h>
int main (void)
{
double arry[3]={2,5,7};
double *p;
p = arry;
printf("arry的地址 = %p\n",arry);
printf("p的地址 = %p\n",p);
return 0;
}
这里输出的结果是
arry的地址 = 0018FF30
p的地址 = 0018FF30
p是一个指针变量,而arry是一个数组名也就是一个指向数组的首地址的指针。如果让p=arry应该是表示p的内存单元里面存放的内容是arry的地址,而不是p的地址等于arry的地址。但是为什么这里的输出结果中p的地址和arry的地址是相等的?
为什么会觉得这是输出p的地址,总觉得这行代码的作用应该是输出(按问题中的说法)“p的内存单元里面存放的内容”才对