首页 新闻 会员 周边 捐助

C语言嵌套结构体如何初始化

0
悬赏园豆:200 [待解决问题]

#include<stdio.h>

struct set { int num; int fenpei; char xing[10]; char ming[15];}; //声明结构体set
struct plane { int num; struct set sets[10];}; //声明结构体plane,其中包含了结构体set类型的sets数组

int main()

{

   struct plane planes[5];

}

请问如何初始化planes[0]、planes[1]、planes[2]、planes[3]、planes[4]?

如何初始化planes中的sets?

趟唐躺烫的主页 趟唐躺烫 | 初学一级 | 园豆:2
提问于:2018-01-25 00:16
< >
分享
所有回答(2)
-1

相当于结构体里套结构体,初始化的时候也嵌套就行了

struct plane pl={1,{1,2,李,明}}

ll...ll | 园豆:233 (菜鸟二级) | 2018-01-25 09:27
0

其中一种方式,可以像这样写

 1 #include<stdio.h>
 2 
 3 //声明结构体set
 4 struct set 
 5 { 
 6     int num;
 7     int fenpei;
 8     char xing[10];
 9     char ming[15];
10 };
11 
12 //声明结构体plane,其中包含了结构体set类型的sets数组
13 struct plane
14 { 
15     int num;
16     struct set sets[10];
17 };
18 int main(){
19     int i ,j;
20     struct plane planes[5];
21     for(i = 0; i< 5 ;i++)
22     {
23         scanf("%d",&planes[i].num);
24         for(j = 0;j<10 ;j++)
25         {
26             scanf("%d",&planes[i].sets[j].num);
27             scanf("%d",&planes[i].sets[j].fenpei);
28             scanf("%s",planes[i].sets[j].xing);
29             scanf("%s",planes[i].sets[j].ming);
30         }
31     }
32     return 0;
33 }
Arthurian | 园豆:1123 (小虾三级) | 2018-01-25 13:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册