The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
In C, a structure declaration can be placed inside another structure. This is also known as nesting of structure. The declaration is same as the declaration of data type in structure. Structure within structure (or) nesting of structure is used to create complex records. There are two methods to declare a structure within structure. Programmers can use either one method to declare structure within structure.
#include <stdio.h> int main() { struct student{ char name[30]; struct avg{ int sub1, sub2, sub3; float average; }avg1; }; struct student stud1; printf("Enter the Name of the student "); scanf("%s", stud1.name); printf("\nEnter the marks of the student "); scanf("%d %d %d ", &stud1.avg1.sub1, &stud1.avg1.sub2, &stud1.avg1.sub3); stud1.avg1.average = (stud1.avg1.sub1 + stud1.avg1.sub2 + stud1.avg1.sub3)/3; printf("\n-------Student Details-------\n "); printf("%s", stud1.name); printf("\nsub1: %d \n sub2: %d \n sub3: %d ", stud1.avg1.sub1, stud1.avg1.sub2, stud1.avg1.sub3); printf("\n Average: %f %", stud1.avg1.average); return 0; }
The above program uses Embedded type declaration. Structure avg is defined within the structure student.
#include <stdio.h> int main() { struct avg{ int sub1, sub2, sub3; float average; }avg1; struct student{ char name[30]; struct avg avg1; }; struct student stud1; printf("Enter the Name of the student "); scanf("%s", stud1.name); printf("\nEnter the marks of the student "); scanf("%d %d %d ", &stud1.avg1.sub1, &stud1.avg1.sub2, &stud1.avg1.sub3); stud1.avg1.average = (stud1.avg1.sub1 + stud1.avg1.sub2 + stud1.avg1.sub3)/3; printf("\n-------Student Details-------\n "); printf("%s",stud1.name); printf("\nsub1 : %d \n sub2 : %d \n sub3 : %d ",stud1.avg1.sub1, stud1.avg1.sub2, stud1.avg1.sub3); printf("\nAverage : %f %", stud1.avg1.average); return 0; }
The above program uses two structure declaration method. Structure avg is defined outside the structure student.
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019