int main(int argc, char* argv[])
{
int* p2;
p2 = (int*)malloc(sizeof(int));
scanf("%d", p2);//5
printf("%d\n", *p2);//5
int* p3;
int i = 5;
p3 = &i;
printf("i=%d,p3=%d\n", i, *p3);
printf("i的地址=%p p3的地址=%p", i, p3);
}
**问题1:为什么不分配动态内存就不能用scanf给p2赋值,明明p2就是个指针变量,用scanf给他一个值的地址这样的理解是不是出错了?还是我对scanf的理解有问题,如果可以还请麻烦你详细解释一下
问题2: p3=&i,的意思是是将i的变量地址给p3吗?如果是,为什么两个地址输出的不一样,如果不是,请问这段p3=&i是什么意思?
**