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).inchandd.inchis exact same cell. Similarly,(*ptr).feetandd.feetis 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