int *p=&a;这一句定义了一个变量p,p是一个指向int型的指针,即p的数据类型是int*,而&a的数据类型也是int*。这条语句孝烂可以分写为 int *p;p=&a;所以这一句没问题。
*p=&a; 这一句是对(*p)进行赋值操作,(*p)的数据类山拿型是int型,而&a的数据类型是int*,两者类型不同,无法进行赋值,逗慎搭所以语句是错的。
当定义
int *p=&a;
这种写法时。 p是变拆乱量。 int*是类培梁型。
给变量初配御运始化的时候,是给变量赋值,也就是说 这里本质上也是p=&a;
必须要指念碰定指针的类型,所以前面是对的;
因樱高链为数据类型不同,指针操作会读取不同长度的连续空脊孙间