دسترسی به مقدار با

دسترسی به مقدار با * در زبان C

در زبان برنامه‌نویسی C، عملگر * (ستاره) نقش اساسی در کار با اشاره‌گرها ایفا می‌کند. این عملگر به شما امکان می‌دهد به مقدار ذخیره شده در آدرس حافظه‌ای که اشاره‌گر به آن اشاره می‌کند، دسترسی پیدا کنید.

عملگر * به عنوان عملگر ارجاع غیرمستقیم (Dereference) شناخته می‌شود و برای دسترسی به مقدار متغیری که آدرس آن در اشاره‌گر ذخیره شده است، استفاده می‌شود.

مثال پایه‌ای از استفاده *

کد نمونه توضیحات
int x = 10;
int *ptr = &x;
printf("%d", *ptr);
  • متغیر x با مقدار 10 تعریف می‌شود
  • اشاره‌گر ptr آدرس x را دریافت می‌کند
  • با استفاده از *ptr به مقدار x دسترسی پیدا می‌کنیم

کاربردهای پیشرفته‌تر

عملگر * در موارد زیر نیز کاربرد دارد:

  1. تغییر مقدار متغیر از طریق اشاره‌گر:
    *ptr = 20; // مقدار x را به 20 تغییر می‌دهد
  2. کار با آرایه‌ها:
    int arr[3] = {1,2,3}; int *p = arr; printf("%d", *(p+1)); // خروجی: 2
  3. اشاره‌گر به اشاره‌گر:
    int **pptr = &ptr; printf("%d", **pptr); // دسترسی به مقدار x

هشدارهای مهم

  • هرگز از * روی اشاره‌گر NULL استفاده نکنید (منجر به Segmentation Fault می‌شود)
  • از اشاره‌گرهای آویزان (Dangling Pointer) اجتناب کنید
  • همیشه قبل از استفاده از * مطمئن شوید اشاره‌گر به مکان معتبری اشاره می‌کند

برای درک عمیق‌تر مفاهیم اشاره‌گرها و کاربرد عملگر *، می‌توانید از آموزش جامع ادامه مطلب استفاده کنید.