前提1、int *p=&b;
前提2、定义结构体
typedef struct student{
int num;
}student;
正文:::
p是指针,把b的地址传给p,p就会p指向b这个变量的值,*p是int类型的变量,相当于b,此时的*p与b是一个地址一个值。与int a=b不同,这个a与b是两个地址,两个值,只不过是值的大小相同罢了。
对于,p->num此用法表明p一定是个指针,p作为一个指针,通过地址指向一个结构体变量,再通过箭头找到该地址代表的特定结构体变量的值;
对于student.num和*p.num是一样的,只不过*p的意义是*P已经代表了这个结构体的这个变量,不单单是p作为指针只是通过地址指向这个结构体变量,此时*P与student这个实体变量明的作用一样。
(本人小白也正在学习,这些只是浅显的个人见解,若有不足之处欢迎指正,互相学习,共同交流!!!)