Une structure au sein d'une structure (ou) une structure imbriquée
Une structure au sein d'une autre structure est appelée structure imbriquée.
Considérez l'exemple suivant,
>struct emp{ int eno; char ename[30]; float sal; float da; float hra; float ea; }e;
Tous les éléments qui relèvent d'un quota peuvent être regroupés et déclarés sous une sous-structure comme indiqué ci-dessous.
stuct emp{ int eno; char ename[30]; float sal; struct allowance{ float da; float hra; float ea; }a; }e;
Le membre le plus interne d'une structure imbriquée est accessible en modifiant toutes les variables de structure associées (de la plus externe à la plus interne) à l'aide de l'opérateur point.
Le programme suivant consiste à démontrer des structures imbriquées (structures dans des structures) -
Live Demo
#include<stdio.h> //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</p><p>",i,p[i].Name); printf("The Age of person %d is : %d</p><p>",i,p[i].Age); printf("The Gender of person %d is : %c</p><p>",i,p[i].Gender); printf("The City of person %d is : %s</p><p>",i,p[i].a[i].City); printf("The State of person %d is : %s</p><p>",i,p[i].a[i].State); printf("The Zip code of person %d is : %d</p><p>",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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!