Skip to main content

Passing structure to a Function

     Like an ordinary variable, a structure variable can also be passed to a function. We  may either pass individual structure elements or the entire structure. Let us take an example in which there is structure employee that has name, sex and salary as members. These members can be passed to function to display their value.
   Example:
               In this example, member variables are displayed by passing individual elements to a function display().
void display(char name[],char s, int sal)
  {
   printf("\nName=%s\tSex=%c\tSalary=%d",name,s,sal);
  }

void main()
  {
  struct employee
     {
    char name[20];
    char sex;
    int salary;
   };
  struct employee e={"abc",'M',10000};
  display(e.name,e.sex,e.salary);
                                      /*function call in which each elements are passed individually*/
  getch();


  }
Another Example:
        Let us consider above structure but pass whole structure variable to function.

struct employee
   {
    char name[20];
    char sex;
    int salary;
   };   // structure is declared outside main()

void display(struct employee emp)
  {
   printf("\nName=%s\tSex=%c\tSalary=%d",emp.name,emp.sex,emp.salary);
  }

void main()
  {
  struct employee e={"abc",'M',10000};
  clrscr();
  display(e);  /* function call*/
  getch();
  }

In above example, the whole structure variable e is passed to a function display(). In formal argument of function display(), we need structure variable to receive structure variable sent by main() function. Thus, we should declare structure outside the main() function such that it is recognized also by function display().

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.