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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1115302782 中级黑马   /  2015-7-3 23:45  /  1410 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

成员也可以又是一个结构体既构成了结构体嵌套
  注意:结构体嵌套:结构体定义里成员又是其他结构体
        结构体不可嵌套自己的变量,但可以嵌套自己的指针
       1)结构体定义里成员又是其他结构体
      struct Date{
          int year;
          int month;
          int day;
          };
        struct Student{
            char *name;
            int age;
            float score;
            struct Date birthday;
            };
          1 嵌套的结构体如何进行初始化
           struct Student stu1 = {"zhangsanfeng",25,59.99f,{1200,12,12}};//定义一个结构体变量
           2 嵌套的结构体如何访问
         printf("姓名:%s,年龄:%d,生日:%d-%02d-%02d,成绩:%.2f",stu1.name,stu1.age,stu1.birthday.year,stu1.birthday.month,stu1.birthday.day,stu1.score);
         2)   结构体嵌套自己的指针
          struct Person{
              char *name;
              int age;
              //嵌套自己类型指针
              struct Person *child;
             };
            //定义 Kim
            struct Person kim ={"kim",8 ,NULL};
            struct Person p1 = {"linzhiying",38,&kim};
           //结构体嵌套自身指针的访问
                   printf("%s的儿子是:%s,儿子的年龄:%d\n",p1.name,p1.child->name,p1.child->age);
          或者是   printf("%s的儿子是:%s,儿子的年龄:%d\n",p1.name,(*p1.child).name,(*p1.child).age);

7 个回复

倒序浏览
赞一下,。。。
回复 使用道具 举报
不错,学习了
回复 使用道具 举报
周位杰 来自手机 中级黑马 2015-7-5 08:40:03
板凳
腻害腻害
回复 使用道具 举报
赞!!!!!!                                      
回复 使用道具 举报
结构体好绕啊  
回复 使用道具 举报
venn 中级黑马 2015-7-5 16:24:31
7#
学习了。。。。。。。。。。
回复 使用道具 举报
zlc 中级黑马 2015-7-5 19:57:24
8#
赞一个!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马