در این آموزش، نحوه استفاده از اشاره گرها برای دسترسی به داده ها در struct را به همراه مثال می آموزید.
متغیر اشاره گر فقط برای انواعی مانند (int، float، double و غیره) ایجاد نمی شود، بلکه برای متغیر های ساختار هم تعریف می شود.
در اینجا نحوه ایجاد اشاره گر به ساختار را مشاهده می کنید:
#include <iostream>
using namespace std;
struct temp {
int i;
float f;
};
int main() {
temp *ptr;
return 0;
}
در مثال بالا اشاره گر ptr از نوع ساختار temp ایجاد شده است.
مثال : اشاره گر به ساختار در C++
#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;
}
خروجی
Enter feet: 4
Enter inch: 3.5
Displaying information.
Distance = 4 feet 3.5 inches
در این برنامه، متغیر اشاره گر ptr و متغیر عادی d از نوع ساختار Type تعریف شده اند.
آدرس متغیر d در اشاره گر ptr ذخیره می شود، یعنی ptr به متغیر d اشاره دارد. سپس، اعضای struct متغیر d با استفاده از اشاره گر قابل دسترسی هستند.
نکته: از آنجا که اشاره گر ptr به متغیر d در این برنامه اشاره دارد،
(*ptr).inch
و
d.inch
دقیقا یکی هستند.
(*ptr).feet
و
d.feet
هم یکی هستند.
روش دیگر دسترسی به اعضای struct با اشاره گر، استفاده از -> است.
ptr->feet is same as (*ptr).feet
ptr->inch is same as (*ptr).inch