Passing the address of structure as an argument to function −
The Address of the structure is passed as an argument to the function.
It is collected in a pointer to structure in function header.
Advantages
No wastage of memory as there is no need of creating a copy again
No need of returning the values back as the function can access indirectly the entire structure and work on it.
Example
#include<stdio.h>
struct date{
int day;
int mon;
int yr;
};
main (){
struct date d= {02,01,2010};
display (&d);
getch ();
}
display (struct date *dt){
printf("day = %d\n", dt->day);
printf("month = %d\n",dt->mon);
printf("Year = %d",dt->yr);
}Output
day = 2 month = 1 Year = 2010