برنامه نویسی

اشاره گرها: به چه چیزی اشاره می کنند؟

اشاره گرها یک مفهوم اساسی در برنامه نویسی C هستند که شما را قادر می سازد به طور مستقیم به حافظه دسترسی داشته باشید و آن را دستکاری کنید. درک اشاره گرها برای برنامه نویسی موثر و کارآمد C بسیار مهم است.

اشاره گر چیست؟

اشاره گر مقداری است که نشان دهنده آدرس حافظه است. به یک مکان حافظه خاص اشاره می کند و به شما امکان می دهد به مقدار ذخیره شده در آن مکان دسترسی داشته باشید و آن را تغییر دهید.

مثال پایه

int some_var = 4;
int *pointer_to_some_var = &some_var;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اینجا &some_var آدرس some_var است.

سمبل تابع مثال
some_variable مقدار را در مکان خاصی از حافظه نگه می دارد int x = 3;
* به آدرس حافظه یک متغیر خاص اشاره می کند int *pX;
& مقدار آدرس متغیر زیر را نگه می دارد &ایکس؛

توضیحات تصویر

نمادها آنچه در آن نگه می دارد / به معنای
متغیر اعلام شده مقدار متغیر
اشاره گر به متغیر
مقدار متغیر اشاره شده به آدرس متغیر(&)
محل حافظه متغیر (به عنوان مثال: 0x7ffe2f14f97c) نام خود اشاره گر (متغیر اشاره گر)

آدرس حافظه اشاره گر (به عنوان مثال: 0x7ffe2f14f97c)

اشاره گرها به مدیریت مسائل حوزه کمک می کنند، به خصوص هنگام استفاده از توابع با ساختارها. با استفاده از نشانگرها، می توانید به متغیرهای خارج از محدوده توابع از طریق آدرس حافظه آنها دسترسی داشته باشید.

ما از اشاره گرها برای دسترسی به متغیرهای خارج از محدوده در توابع با ارائه اشاره گر به آدرس حافظه چنین متغیری (یا ساختار) استفاده می کنیم.

#include 
#include 

struct employee_type
{
    int id;
    int income;
    bool staff;
};

void initialize_employee(struct employee_type *e){
    e->id = 0;
    e->income=0;
    e->staff=true;

    return;
}
int main(){
    struct employee_type Ralph;    
    initialize_employee(&Ralph);

    printf("%d", Ralph.income);
}
مثال

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • دام های رایجاشاره گرهای بدون مقدار اولیه

  • : همیشه نشانگرها را مقداردهی اولیه کنید. یک اشاره گر بدون مقدار اولیه به یک مکان حافظه تصادفی اشاره می کند که منجر به رفتار نامشخص می شود.اشاره گرهای آویزان

  • : از اشاره گر به حافظه ای که آزاد شده یا خارج از محدوده است استفاده نکنید.حساب اشاره گر

: مراقب محاسبات اشاره گر باشید تا از دسترسی خارج از محدوده به حافظه خودداری کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا