#include
int main()
{
int a[]={1,2,3,4,5},*p=&a[3];
printf("%d\n",*p=&a[3]);
}
为什么给指针初始化的时候可以写成“*p=&a[3]”,但是在printf语句中就不可以这么写
麻烦哪位大神帮忙解答一下,谢谢啦!!!
int a[]={1,2,3,4,5},*p=&a[3];中的*应该和int一起看,表示的是int*这个类型
而你printf里面的*表示的是解引用的*
两者的含义不同
*p 是指的是值,&a[3]指的是地址,*p != &a[3]===>这个东西是不成立的。
p = &a[3] 就对了,这个打印出来是指针地址