Skip to main content

Structure within another structure (Nested Structure) in C programming


     One structure can be nested within another structure in C. Let us consider an structure mark which has members subject and marks. This can be nested within another structure student. This can be done as follow.
   struct mark{
               char subject[20];
               float marks;
                };
This structure can be nested within another structure as its member.
  struct student {
            char name[20];
            int roll;
            struct mark studentM;
            char remark;
             }s;
Here, structure student contains a member studentM which is itself a structure with two members. The members within structure mark are accessed as
                   s.studentM.subject and s.studentM.marks
But the members within student structure are accessed as usual
         s.name, s.roll and s.remark
The above nested structure can be nested in alternative way.
            
struct student {
            char name[20];
            int roll;
            char remark;
            struct mark{
               char subject[20];
               float marks;
                }studentM;
 }s;

   Example:
         Create a structure named mark that has subject and marks as its members. Include this structure as a member for student structure created in program1. Use this structure to read and display student’s name, roll, subject, marks and remarks.
void main()
  {
  struct mark{
               char subject[20];
               float marks;
                };
  struct student {
            char name[20];
            int roll;
            struct mark studentM;
            char remark;
             };
    struct student s;
      printf("Enter name:\t");
      scanf("%s",s.name);
      printf("\nEnter roll:\t");
      scanf("%d",&s.roll);
      printf("\nEnter Subject Name:\t");
      scanf("%s",s.studentM.subject);
      printf("\n Enter marks\t");
     scanf("%f",&s.studentM.marks);
     printf("Enter remark p for pass or f for fail\t");
     s.remark=getche();
    printf("\n\n\nThe Detail Information is\n");
printf("\Name=%s\tRoll=%d\nSubject=%s\tMarks=%f\nRemark=%c",s.name,
                                 s.roll,s.studentM.subject,s.studentM.marks,s.remark);
  getch();
  }


Comments

Popular posts from this blog

Database Management System(DBMS)

Data and Information  Data is an unprocessed raw fact which does  not give complete meaning about any object,person, entity etc. But when various inter-related data arranged in a row, it gives a complete meaning which is referred to as information. For Example: ID Name Address Program 1101 Ram Shrestha Biratnagar BScIT         is information of a specific person. Database Database is a repository(storage) for the organized collection of related information  of data items. It Consist of meaningful arrangement of data, relationship, constraints, schema etc. In modern days we define database as a computerized record-keeping system used to store information and allows users to retrieve and update these information on their request. Some example of databases are telephone directory, data of SLC result, student and employee records etc. Database Management System(DBMS) Database is the softw...

What is Java Applets?

An applet is a special kind of Java program that is designed to be transmitted over the Internet and automatically executed by a Java-compatible web browser. Furthermore, an applet is downloaded on demand, without further interaction with the user. If the user clicks a link that contains an applet, the applet will be automatically downloaded and run in the browser. Applets are intended to be small programs. They are typically used to display data provided by the server, handle user input, or provide simple functions, such as a loan calculator, that execute locally, rather than on the server. In essence, the applet allows some functionality to be moved from the server to the client.

What is manipulator in C++?

Answer: Manipulators are special functions that can be included in the I/O statement to alter the format parameters of a stream. Table-2 shows some important manipulator functions that are frequently used. To access these manipulators, the file < iomanip.h > should be included in program.                               Table-2               Manipulators                                                    Equivalent ios function               set...