fastread homefastrread library fastread menu

C++ : Pointers to Structure

Tutorial by:Manisha Dubey      Date: 2016-06-18 00:47:30

❰ Previous Next ❱

A pointer variable can be created not only for native types like (int, float, double etc.) but they can also be created for user defined types like structure. For example:

#include <iostream>
using namespace std;

struct temp {
    int i;
    float f;
};

int main() {
    temp *ptr;
    return 0;
}

This program creates a pointer ptr of type structure temp.

Example 1: Pointers to Structure

#include <iostream>
using namespace std;

struct Distance {
    int feet;
    float inch;
};

int main() {
    Distance *ptr, d;

    ptr = &d;
    
    cout << "Enter feet: ";
    cin >> (*ptr).feet;
    cout << "Enter inch: ";
    cin >> (*ptr).inch;
 
    cout << "Displaying information." << endl;
    cout << "Distance = " << (*ptr).feet << " feet " << (*ptr).inch << " inches";

    return 0;
}

Output

Enter feet: 4
Enter inch: 3.5
Displaying information.
Distance = 4 feet 3.5 inches

 

 
 

In this program, a pointer variable ptr and normal variable d of type structure Distance is defined. The address of variable d is stored to pointer variable, that is, ptr is pointing to variable d. Then the member function of variable d is accessed using pointer.

Note: Since pointer ptr is pointing to variable d in this program, (*ptr).inch and d.inch is exact same cell. Similarly, (*ptr).feet and d.feet is exact same cell.

The syntax to access member function using pointer is ugly and there is alternative notation -> which is more common.

ptr->feet is same as (*ptr).feet
ptr->inch is same as (*ptr).inch

❰ Previous Next ❱


C++

Submit Your Thought, Tutorial, Articls etc.

Submit Your Information India's Number one online promotion website