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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.结构体的嵌套定义:
  1. struct student {
  2.         char *name;
  3.         int age;
  4.         double score;
  5.     };
  6. //结构体的嵌套定义
  7.     //定义:
  8.     struct school{
  9.         char *schoolName;
  10.         struct student stu;
  11.     };
  12.     //初始化:
  13.     struct school sch1 = {"光明小学",{"小明",23,96}};
  14.     //访问成员变量
  15.     printf("\n\n学校:%s\t姓名:%s\t年龄:%d\t分数:%.2f\n",sch1.schoolName,sch1.stu.name,sch1.stu.age,sch1.stu.score);

复制代码
   需要注意的是,在调用结构体内的结构体成员是,是按照 结构体.结构体成员.成员变量 的方法调用的。

2.指向结构体的指针:
  1. struct student {
  2.         char *name;
  3.         int age;
  4.         double score;
  5.     };
  6.    //指向结构体的指针
  7.     struct student stuXiaoming = {"小明",23,96};
  8.     struct student *p = &stuXiaoming;
  9.     //访问接头体成员方法一、
  10.     printf("\n\n方法一:姓名:%s\t年龄:%d\t分数:%.2f\n",stuXiaoming.name,stuXiaoming.age,stuXiaoming.score);
  11.     //访问接头体成员方法二、
  12.     printf("方法二:姓名:%s\t年龄:%d\t分数:%.2f\n",(*p).name,(*p).age,(*p).score);
  13.     //访问接头体成员方法三、
  14.     printf("方法三:姓名:%s\t年龄:%d\t分数:%.2f\n",p->name,p->age,p->score);
复制代码




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马