
结构内的结构(或)嵌套结构
另一个结构内的结构称为嵌套结构。
考虑以下示例,
>struct emp{
int eno;
char ename[30];
float sal;
float da;
float hra;
float ea;
}e;所有属于配额的项目都可以组合在一起并在子结构下申报,如下所示。
立即学习“C语言免费学习笔记(深入)”;
网奇CWMS企业网站管理系统 Company Website Manage System采用微软 ASP.NET2.0(C#) 设计,使用分层设计模式,页面高速缓存,是迄今为止国内最先进的.NET语言企业网站管理系统。整套系统的设计构造,完全考虑大中小企业类网站的功能要求,网站的后台功能强大,管理简捷,支持模板机制。使用国际编码,通过xml配置语言,一套系统可同时支持任意多语言。全站可生成各类模拟
stuct emp{
int eno;
char ename[30];
float sal;
struct allowance{
float da;
float hra;
float ea;
}a;
}e;嵌套结构中最里面的成员可以通过使用点运算符更改所有相关结构变量(从最外层到最内层)来访问该成员。
程序
以下程序是演示嵌套结构(结构内的结构) -
Live Demo
#include//Declaring outer and inter structures// struct Person//Main Structure//{ char Name[500]; int Age; char Gender; char temp;//To clear buffer// struct Address//Nested Structure//{ char Apartment[500]; char Street[500]; char City[100]; char State[100]; int Zipcode; }a[20];//Nested Structure Variable// }p[20];//Main Structure Variable// void main(){ //Declaring variable for For loop// int i; //Reading User I/p// for (i=1;i<3;i++){//Declaring function to accept 2 people's data// printf("Enter the Name of person %d : ",i); gets(p[i].Name); printf("Enter the Age of person %d : ",i); scanf("%d",&p[i].Age); scanf("%c",&p[i].temp);//Clearing Buffer// printf("Enter the Gender of person %d : ",i); scanf("%c",&p[i].Gender); scanf("%c",&p[i].temp);//Clearing Buffer// printf("Enter the City of person %d : ",i); gets(p[i].a[i].City); printf("Enter the State of person %d : ",i); gets(p[i].a[i].State); printf("Enter the Zip Code of person %d : ",i); scanf("%d",&p[i].a[i].Zipcode); scanf("%c",&p[i].temp);//Clearing Buffer// } //Printing O/p// for (i=1;i<3;i++){ printf("The Name of person %d is : %s ",i,p[i].Name); printf("The Age of person %d is : %d
",i,p[i].Age); printf("The Gender of person %d is : %c
",i,p[i].Gender); printf("The City of person %d is : %s
",i,p[i].a[i].City); printf("The State of person %d is : %s
",i,p[i].a[i].State); printf("The Zip code of person %d is : %d
",i,p[i].a[i].Zipcode); } }
输出
Enter the Name of person 1 : Enter the Age of person 1 : Enter the Gender of person 1 : Enter the City of person 1 : Enter the State of person 1 : Enter the Zip Code of person 1 : Enter the Name of person 2 : Enter the Age of person 2 : Enter the Gender of person 2 : Enter the City of person 2 : Enter the State of person 2 : Enter the Zip Code of person 2 : The Name of person 1 is : The Age of person 1 is : 0 The Gender of person 1 is : The City of person 1 is : The State of person 1 is : The Zip code of person 1 is : 0 The Name of person 2 is : The Age of person 2 is : 0 The Gender of person 2 is : The City of person 2 is : The State of person 2 is : The Zip code of person 2 is : 0










