A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

                  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分


1 个回复

正序浏览
我 咋不知道啊 ,我是 新手 ............  现在才告诉 我 。我都不敢往上 写东西了 ,好伤心啊。 太狠了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马