Table of Contents
Nested structure in C access with variable
Structure variables can be accessed in two way.
- Structure in C access with normal variable
- Structure access with the pointer variable
Nested structure in C access with normal variable –
We can access of the structure using the normal variable in C language
The structure variable can be normal structure variable to access the data in C programming language.
This program explains how to use structure inside another structure using the normal variable in the C Programming language.
D_O_Birth structure is declared inside stu_details structure
#include <stdio.h> #include <stdlib.h> struct D_O_Birth { int day; int month; int year; }; struct stu_detials { int stu_id; char name[20]; float payment; struct D_O_Birth date; }; int main() { struct stu_detials s; printf("Enter the name:\n"); scanf("%s",&s.name); printf("Enter the student id:\n"); scanf("%d",&s.stu_id); printf("Enter the payment:\n"); scanf("%f",&s.payment); printf("Enter the date:\n"); scanf("%d",&s.date.day); printf("Enter the month:\n"); scanf("%d",&s.date.month); printf("Enter the year:\n"); scanf("%d",&s.date.year); printf("Display details:\n\n"); printf("Student id is:%d\n",s.stu_id); printf("Student name is:%d\n",s.name); printf("Student payment is:%f\n",s.payment); printf("Student DOB is: %d- %d-%d\n",s.date.day,s.date.month, s.date.year ); getch(); return 0; }
When the above code
is executed, The following output is displayed
Nested structure access with pointer variable –
We can access of the structure using pointer variable in C language
The structure variable can be pointer variable to access the data in C programming language.
This program explains how to use structure inside another structure(Nested structure) using the pointer variable in the C Programming language.
An address structure is declared inside Employee structure using the pointer as a structure variable in this progra
m.
#include <stdio.h> #include <stdlib.h> struct Address{//structure Address char DoorNo[20];//member 1 char AreaNo[20];//member 2 long postalcode[100];//member 3 }; struct Employee{ char Name[25]; // member 1 char Gender[10]; // member 2 int Age; // member 3 double salary; // member 4 struct Address adr;//implement the address in employee }; int main() { struct Employee emp; struct Address adr; struct Employee *e;//pointer for Employee struct Address *a;//pointer for address e=&emp;//assign address of emp to pointer e a=&adr;//assign address of adr to pointer a printf("Enter the employee details: \n"); printf("Name: "); scanf("%s",&e->Name); printf("Gender: "); scanf("%s",&e->Gender); printf("Age: "); scanf("%d",&e->Age); printf("salary: "); scanf("%lf",&e->salary); //here input employee details printf("\nEnter the address details: \n"); printf("Door No: "); scanf("%s",&a->DoorNo); printf("Area No: "); scanf("%s",&a->AreaNo); printf("Postal code: "); scanf("%1i",&a->postalcode); //here input Address details printf("\nEmployee details: \n"); printf("Name : %s\n",emp.Name); printf("Gender : %s\n",emp.Gender); printf("Age : %d\n",emp.Age); printf("Salary : %lf\n\n",emp.salary); //Display employee details printf("DoorNo: %s \n",adr.DoorNo); printf("AresNo : %s\n",adr.AreaNo); printf("Postal code : %li\n",adr.postalcode); //Display Addrress details getch(); return 0; }
When the above code is executed the following output is displayed
Program2
This program explains how to use structure inside another structure using a pointer variable in the C Programming language.
school_Details structure is declared inside stu_Details structure using the pointer structure variable in this program
#include <stdio.h> #include <stdlib.h> struct school_Details{ char sch_Name[100]; int sch_Code; }; struct stu_Details { int stu_Id; char stu_Name[50]; float avg; struct school_Details sch; }stu_Data,*stu_Data1; int main() { struct stu_Details stu_Data={1,"Kumar",56.7,"Hartley college",1008}; stu_Data1=&stu_Data; printf("Student id is: %d \n",stu_Data1->stu_Id); printf("Average is: %.2f \n",stu_Data1->avg); printf("School code is: %d \n",stu_Data1->sch.sch_Code); printf("School name is: %s \n",stu_Data1->sch.sch_Name);; getch(); return 0; }
When the above code is executed, The following output is displayed