首页 > 代码库 > 结构体3之结构体嵌套
结构体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 = http://www.mamicode.com/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 }
结构体3之结构体嵌套
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。