• c语言结构体3之结构体嵌套


    注意:

    1结构体内部再次定义一个结构体 但是没有创建结构体的实例
      也就是说再次定义的结构体内部的变量会被当做母结构体的成员变量

     1 struct tianchao
     2 {
     3     int data;
     4     char name[24];
     5     struct beijing//结构体内部再次定义一个结构体 但是没有创建结构体的实例
     6                     //也就是说再次定义的结构体内部的变量会被当做母结构体的成员变量
     7     {
     8         char str[100];
     9         int num;
    10     };
    11 };
    12 
    13 void mainww()
    14 {
    15     struct tianchao t1;
    16     //t1.这里按照道理是可以有四个变量 但是在此不可以 应该是编译器的问题
    17     
    18     //是没有问题
    19     /*t1.data = 100;
    20     t1.num=66;
    21     sprintf(t1.name,"goa");
    22     sprintf(t1.str,"gob");*/
    23 }
    24 
    25 struct tianchao
    26 {
    27     int data;
    28     char name[24];
    29     struct beijingA结构体 
    30                     
    31     {
    32         char str[100];
    33         int num;
    34     }b1;//内部定义的第一种方式
    35     struct beijingA结构体 b2;//内部定义的第二种方式
    36 };
    37 
    38 void main()
    39 {}
     1 //struct china
     2 //{
     3 //    int data;
     4 //    char name[100];
     5 //    struct guiyang
     6 //    {
     7 //        char str[100];
     8 //        int num;
     9 //    }a1;//不清楚为什么必须加上a1 编译器才识别
    10 //};
    11 //void main()
    12 //{
    13 //    struct china c1;
    14 //    c1.a1.num = 200;
    15 //    sprintf(c1.a1.str,"ad");
    16 //    printf("%d,%s",c1.a1.num,c1.a1.str);
    17 //
    18 //    getchar();
    19 //}
    20 //方式二
    21 struct china
    22 {
    23     int data;
    24     char name[100];
    25     //给结构体内部在此定义一个结构体,创建结构体变量,这个变量会直接当作成员
    26     //但是没有创建结构体的实例
    27     //再次定义的结构体内部的变量 会被当作母结构体的成员变量
    28     struct guiyang
    29     {
    30         char str[100];
    31         int num;
    32     }a1;
    33     struct guiyang b1;
    34 };
    35 void main()
    36 {
    37     struct china c1;
    38     c1.b1.num = 200;
    39     sprintf(c1.b1.str,"ad");
    40     printf("%d,%s",c1.b1.num,c1.b1.str);
    41 
    42     getchar();
    43 }
  • 相关阅读:
    linux学习笔记--20150122
    破解LR11 sentinel stage failed
    Linux部署环境初学(Resin、jdk)
    MongoDB操作
    TestNG
    在iOS8 下用Swift 创建自定义的键盘
    iOS 8下简单,可交互式的通知
    设计模式:策略模式
    用Swift创建一个自定义,可调整的控件
    iOS7状态栏上有趣的渐变遮罩
  • 原文地址:https://www.cnblogs.com/lanjianhappy/p/6011491.html
Copyright © 2020-2023  润新知