- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What are nested structures in C language?
Structure within structure (or) Nested structures
A structure inside another structure is called nested structure.
Consider the following example,
struct emp{ int eno; char ename[30]; float sal; float da; float hra; float ea; }e;
All the items comes under allowances can be grouped together and declared under a sub – structure as shown below.
stuct emp{ int eno; char ename[30]; float sal; struct allowance{ float da; float hra; float ea; }a; }e;
The inner most member in a nested structure can be accessed by changing all the concerned structure variables (from outer most to inner most) with the member using dot operator.
Program
Following program is to demonstrate nested structure (structure within the structure) −
#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
",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); } }
Output
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
- Related Articles
- What are pointers to structures in C language?
- What is an array of structures in C language?
- Explain the array of structures in C language
- Explain structures using typedef keyword in C language
- Explain nested switch case in C language
- Explain Nested if-else statement in C language
- What are nested classes in C#?
- What are nested namespaces in C#?
- Explain the concept of union of structures in C language
- Nested for loop and other related statements in C language
- What are string literals in C language?
- What are macros in C programming language?
- What are executable statements in C language?
- What are relational operators in C language?
- What are memory operations in C language?

Advertisements