int *p 代表 指针指向了 int类型的数据
那么结构体种怎么用指针那;同理:struct Student *p 指针P 指向了Student 类型的数据。
struct 只是结构体的标志 不用管它。
P 是通过指向 变量的地址来访问变量所在的空间的。Student 类型数据的变量是 stu.
不懂看这 : stuct Student stu={.....} stu 在这里 是 Student 类型的 变量
所以 P = & stu;
*p 就是 访问 P 所指向的空间地址 进行 取值 或赋值 。这不就跟以前的知识联系上了吗。
重点在这那: 利用指针访问 结构体的三种方式: 必须掌握的
第一种:原始访问:前面就不写了 直接写输出的部分 不难一看就懂;
printf("age=%d,no=%d\n",stu.age,stu.no); 懂了 用变量加内部成员变量的名 直接赋值或取值,知识原始的直接的办法。
第二种:先了解一个小语法 ,P = & stu; 那么*P =stu 吗 因此:
printf("age=%d,no=%d\n",*P.age,*P.no); 简单吧 这里的P你定义是小写用小写,是大写用大写。没问题吧。
第三种:就是利用指针 间接访问 结构体内部的成员变量 P = & stu :利用指针指向的存储空间 由空间 间接的进行访问内部成员变量 。
printf("age=%d,no=%d\n",P->age,P->no);
完事 是不是 很简单啊 老师 我还没看完那 下午 还得继续 给我 4分 4分 4分
|