Fri. Dec 2nd, 2022

Hello Android

All android in one place

Arrow operator in C – All you need to know!

2 min read

Hey, folks! In this article, we will be focusing on Arrow operator in C. C language comprises of various operators to deal and manipulate the data records. One such operator is the Arrow operator.

So, let us begin!

Working of Arrow operator in C?

In C, this operator enables the programmer to access the data elements of a Structure or a Union.

This operator(->) is built using a minus(-) operator and a greater than(>) relational operator. Moreover, it helps us access the members of the struct or union that a pointer variable refers to.

Let us now focus on the structure of Arrow operator in C.

Syntax of Arrow operator(->)

Have a look at the below syntax!

(pointer variable)->(variable) = value;

The operator is used along with a pointer variable. That is, it stores the value at the location(variable) to which the pointer/object points.

Let us now implement this operator through some examples in the upcoming section.

Examples of Arrow operator (->)

In the below example, we have created a Structure ‘Movie_info’. Further, we have assigned a pointer object to the structure and allocated memory to it in a dynamic manner using the C malloc() function.

Arrow operator to access the data member of a C Structure

#include <stdio.h>
struct Movie_info
    char *name; 
    char *ACC; 
int main()
     struct Movie_info* M;
     M = (struct Movie_info*) 
        malloc(sizeof(struct Movie_info)); 
     M->name = "Python with JournalDev";
     printf("Movie Information:");
     printf("nName: %s", M->name);
     printf("nACC: %s", M->ACC);
     return 0;

We have accessed the values of the data members using arrow operator(->).


Movie Information:
Name: Python with JournalDev

Let us now try to access the data members of Union using arrow operator. Arrow operator to access the data members of Union in C

#include <stdio.h>
union Movie_info
    int id;
    float net_val;
int main()
     union Movie_info* M;
     M = (union Movie_info*) 
        malloc(sizeof(union Movie_info)); 
     printf("Movie Information:n");
     M->id = 01;
     printf("n ID: %d", M->id);
     M->net_val = 125.45;
     printf("n NET VALUE: %.1f", M->net_val);
     return 0;

Like Structure, we have created a Union ‘Movie_info’ and have accessd the data values using the arrow operator as shown above.


Movie Information:
ID: 1
NET VALUE: 125.4


By this, we have come to the end of this topic so feel free to comment below, in case you come across any question.


Leave a Reply

Your email address will not be published. Required fields are marked *

Hello android © All rights reserved. | Newsphere by AF themes.