Pointers to Structure in C++
Pointers to Structure in C++
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.
Here is how you can create pointer for structures:
#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: 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;
}
OutputEnter feet: 4 Enter inch: 3.5 Displaying information. Distance = 4 feet 3.5 inchesIn 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
andd.inch
is exact same cell. Similarly,(*ptr).feet
andd.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
Comments
Post a Comment