اتصال اشاره گرهای ++C به ساختار — راهنمای کاربردی

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