int num = 45,*ptr1,*ptr2;
ptr1=#
ptr2=&ptr1;
printf("%d\n",*ptr1);
这个问题我想了好久,一直没能理解,为什么&ptr1
不能ptr2
在第3行赋值,&ptr1
是指针的地址,这个地址和其他地址没什么区别一个整数,比如说
int a=1;
ptr2=&a;
这意味着我可以将整数的地址分配给指针,但不能将指针的地址分配给指针,这两个“地址”之间的差异可能会使它们不同吗?公共变量的地址可以分配给单指针,但指针的地址不能分配给单指针?
我知道正确的方法是使用双指针声明ptr2
,但为什么单指针不能?