Arrow operator -> in C/C++ with Examples
An Arrow operator in C/C++ allows to access elements in Structures and Unions. It is used with a pointer variable pointing to a structure or union. The arrow operator is formed by using a minus sign, followed by the greater than symbol as shown below.
Syntax:
(pointer_name)->(variable_name)
Operation: The -> operator in C or C++ gives the value held by variable_name to structure or union variable pointer_name.
Difference between Dot(.) and Arrow(->) operator:
- The Dot(.) operator is used to normally access members of a structure or union.
- The Arrow(->) operator exists to access the members of the structure or the unions using pointers.
Examples:
- Arrow operator in structure:
C
// C program to show Arrow operator // used in structure #include <stdio.h> #include <stdlib.h> // Creating the structure struct student { char name[80]; int age; float percentage; }; // Creating the structure object struct student* emp = NULL; // Driver code int main() { // Assigning memory to struct variable emp emp = ( struct student*) malloc ( sizeof ( struct student)); // Assigning value to age variable // of emp using arrow operator emp->age = 18; // Printing the assigned value to the variable printf ( "%d" , emp->age); return 0; } |
C++
// C++ program to show Arrow operator // used in structure #include <iostream> using namespace std; // Creating the structure struct student { char name[80]; int age; float percentage; }; // Creating the structure object struct student* emp = NULL; // Driver code int main() { // Assigning memory to struct variable emp emp = ( struct student*) malloc ( sizeof ( struct student)); // Assigning value to age variable // of emp using arrow operator emp->age = 18; // Printing the assigned value to the variable cout << " " << emp->age; return 0; } // This code is contributed by shivanisinghss2110 |
Javascript
// JavaScript program to show Arrow operator used in structure let emp = null ; // Creating the structure class Student { constructor(name, age, percentage) { this .name = name; this .age = age; this .percentage = percentage; } } // Assigning memory to struct variable emp emp = new Student( '' , 0, 0); // Assigning value to age variable // of emp using arrow operator emp.age = 18; // Printing the assigned value to the variable console.log( ' ' + emp.age); |
Output:
18
Time complexity: O(1).
Auxiliary space: O(n). // n is the size of memory that is being dynamically allocated using the malloc function to store the structure student. The amount of memory used is proportional to the size of the structure and the number
- Arrow operator in unions:
C++
// C++ program to show Arrow operator // used in structure #include <iostream> using namespace std; // Creating the union union student { char name[80]; int age; float percentage; }; // Creating the union object union student* emp = NULL; // Driver code int main() { // Assigning memory to struct variable emp emp = ( union student*) malloc ( sizeof ( union student)); // Assigning value to age variable // of emp using arrow operator emp->age = 18; // DIsplaying the assigned value to the variable cout << "" << emp->age; } // This code is contributed by shivanisinghss2110 |
C
// C program to show Arrow operator // used in structure #include <stdio.h> #include <stdlib.h> // Creating the union union student { char name[80]; int age; float percentage; }; // Creating the union object union student* emp = NULL; // Driver code int main() { // Assigning memory to struct variable emp emp = ( union student*) malloc ( sizeof ( union student)); // Assigning value to age variable // of emp using arrow operator emp->age = 18; // DIsplaying the assigned value to the variable printf ( "%d" , emp->age); } |
Output:
18
Please Login to comment...