Skip to main content

Structure in C programming

A structure is a collection of variables usually of different types that can be used as a single item to handle data more efficiently. An array can be used only to represent a group of data items that belong to the same type. But, if we want to represent a collection of data items of different types using a single name, array can not be used. At that situation, structure is used.

            Defining a Structure:
Syntax:
     struct   structure_name
                {
                  type1 member_variable1;
                 type2 member_variable2;
                 .
                 .
                typen member_variablen;
               };
Once structure_name is declared as new data type, then variables can be declared as
         struct structure_name structure_variable;
An example:
              Let us create a structure named student that has name, roll, marks and remarks as members.
    struct student
               {
                  char name[20];
                  int roll;
                  float marks;
                  char remarks;
                };
Here, student is structure name and its members are name, roll, marks and remarks.Then different variables of type struct student can be declared as
                    struct student st;
         Here, struct student is new data type and st is variable of that type. The multiple variables are declared as
                     struct student st1, st2, st2;
Each variable has its own copy of member variables. The member variables are accessed using dot (.) operator. For example, st1.name is member variable, name, of st1 structure variable and st2.name is the member variable, name, of second structure variable st2. Similarly, st1.roll is the member, roll, of first structure variable st1 and st2.roll is the member, roll, of second structure variable st2.

    The structure definition and variable declaration can be combined as following
               
struct student
               {
                  char name[20];
                  int roll;
                  float marks;
                  char remarks;
                }st1,st2;
or

        struct
               {
                  char name[20];
                  int roll;
                  float marks;
                  char remarks;
                }st1,st2;

Comments

Popular posts from this blog

Object Oriented Programming

Object Oriented Programming Programming paradigm that represents the concept of "objects" that have data fields (attributes that describe the object) and associated procedures known as methods Programming methodology based on objects, instead of just functions and procedures Focuses on data rather than process As individual objects can be modified without affecting other aspects of the program, it is easier for programmers to structure and organize software programs Easier to update and change programs written in object-oriented languages Simula was the first object oriented programming language Eg: C++, Java, etc. Features of OOPS Objects Referred as instance of class Basic run-time entities in an object-oriented system a person, a place, a bank account, a table of data, etc can be an object They occupy space in memory that keeps its state  Each object contains data and code to manipulate the data  Classes Blue print or prototype  which defi

How structure elements are stored?

  The elements of a structure are always stored in contiguous memory locations. This can be illustrated as void main() {     struct student      {      int roll;      float marks;      char remarks;   };   struct student st={200,60.5,'P'};   printf("\nAddress of roll=%u",&st.roll);   printf("\nAddress of marks=%u",&st.marks);   printf("\nAddress of remarks=%u",&st.remarks);   getch(); } Output: Address of roll=65518 Address of marks=65520 Address of remarks=65524                  st.roll               st.marks                          st.remarks 200 60.5 ‘P’               65518             65520                               65524           

How containership is different than inheritance ?

               Inheritance is the mechanism of deriving properties of one class into another. While containership is mechanism in which one class contain objects of other classes as its member.                     class alpha{_ _ _ _ _ };                     class beta{_ _ _ _ _ };                      class gamma                      {                         alpha a;                         beta b;                       _ _ _ _ _ };            All objects of gamma class will contain the objects a and b, this kind of relationship is called containership or nesting.