黑马程序员技术交流社区

标题: 结构体与指针 [打印本页]

作者: 大悟云    时间: 2014-11-16 18:51
标题: 结构体与指针
 指针指向结构体:
  1.     p -> n 得到 p 指向的结构体变量中的成员 n 的值
  2.     p -> n ++ 得到 p 指向的结构体变量中的成员 n 的值,用完值后使它加1
  3.   ++p -> n 得到 p 指向的结构体变量中的成员 n 的值使之加 1 (先加)


  struct student stu[3] = {{10101, "Li Lin", 'M', 18},

             {10102, "Zhang Fun", 'M', 19},

             {10103, "Wang Min", 'F', 20}};
    void main()

{

  struct student *p;

  for(p=stu; p<stu+3;p++)

    printf("%5d %-20s %2c %4d\n", p->num, p->name, p->sex, p->age);

}

       如果 p 的初值为 stu,即指向第一个元素,则 p + 1 后指向下一个元素的起始地址。例如:
       (++p) -> num 先使 p 自加 1 ,然后得到它指向的元素中的 num 成员的值(10102),得到的值是10102,指向的也是stu[1]
      (p++) ->num 先得到 p->num 的值(10101),然后使 p 自加 1 ,指向 stu[1],得到的是stu[0]的值,指向的是stu[1]]中的成员







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2