What are pointers to structures in C language?

CServer Side ProgrammingProgramming

Pointer to structure holds the add of the entire structure.

It is used to create complex data structures such as linked lists, trees, graphs and so on.

The members of the structure can be accessed using a special operator called as an arrow operator ( -> ).

Declaration

Following is the declaration for pointers to structures in C programming −

struct tagname *ptr;

For example − struct student *s −

Accessing

It is explained below how to access the pointers to structures.

Ptr-> membername;

For example − s->sno, s->sname, s->marks;

Example Program

The following program shows the usage of pointers to structures −

#include<stdio.h>
struct student{
   int sno;
   char sname[30];
   float marks;
};
main ( ){
   struct student s;
   struct student *st;
   printf("enter sno, sname, marks:");
   scanf ("%d%s%f", & s.sno, s.sname, &s. marks);
   st = &s;
   printf ("details of the student are");
   printf ("Number = %d\n", st ->sno);
   printf ("name = %s\n", st->sname);
   printf ("marks =%f\n", st ->marks);
   getch ( );
}

Output

Let us run the above program that will produce the following result −

enter sno, sname, marks:1 Lucky 98
details of the student are:
Number = 1
name = Lucky
marks =98.000000

Example 2

Consider another example which explains the functioning of pointers to structures.

 Live Demo

#include<stdio.h>
struct person{
   int age;
   float weight;
};
int main(){
   struct person *personPtr, person1;
   personPtr = &person1;
   printf("Enter age: ");
   scanf("%d", &personPtr->age);
   printf("Enter weight: ");
   scanf("%f", &personPtr->weight);
   printf("Displaying:\n");
   printf("Age: %d\n", personPtr->age);
   printf("weight: %f", personPtr->weight);
   return 0;
}

Output

Let us run the above program that will produce the following result −

Enter age: 45
Enter weight: 60
Displaying:
Age: 45
weight: 60.000000
raja
Published on 11-Mar-2021 18:30:00
Advertisements