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

۷۴۰
۱۴۰۳/۰۳/۲۷
۲ دقیقه
PDF
اتصال اشاره گرهای ++C به ساختار – راهنمای کاربردیاتصال اشاره گرهای ++C به ساختار – راهنمای کاربردی
آموزش متنی جامع
امکان دانلود نسخه PDF

در این مقاله به بررسی روش اتصال اشاره گرهای ++C به ساختار می‌پردازیم. در این مسیر مثال‌هایی مورد بررسی قرار گرفته‌اند که به درک کارکرد اشاره گرها برای دسترسی به داده‌های درون یک ساختار در ++C کمک می‌کنند. برای مطالعه بخش قبلی این سری مقالات روی لینک زیر کلیک کنید:

فهرست مطالب این نوشته
997696

متغیر اشاره گر نه تنها برای نوع‌های نیتیو مانند int ،float ،double و غیره قابل ساختن است، بلکه می‌تواند برای انواع تعریف‌شده از سوی کاربر مانند structure نیز ایجاد شود. شیوه ساخت اشاره‌گر برای یک ساختار به صورت زیر است:

1#include <iostream>
2using namespace std;
3struct temp {
4    int i;
5    float f;
6};
7int main() {
8    temp *ptr;
9    return 0;
10}

این برنامه یک اشاره‌گر به نام ptr و از نوع ساختار temp ایجاد می‌کند.

مثال: اشاره‌گر به ساختار

1#include <iostream>
2using namespace std;
3struct Distance
4{
5    int feet;
6    float inch;
7};
8int main()
9{
10    Distance *ptr, d;
11    ptr = &d;
12    
13    cout << "Enter feet: ";
14    cin >> (*ptr).feet;
15    cout << "Enter inch: ";
16    cin >> (*ptr).inch;
17 
18    cout << "Displaying information." << endl;
19    cout << "Distance = " << (*ptr).feet << " feet " << (*ptr).inch << " inches";
20    return 0;
21}
مشاهده کامل کدها

خروجی

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

به این ترتیب به پایان این مقاله می‌رسیم. برای مطالعه بخش بعدی روی لینک زیر کلیک کنید:

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۳ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
programiz
PDF
مطالب مرتبط
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *