اشاره گر به اشاره گر در زبان C
اشاره گر به اشاره گر را می توان به عنوان زنجیره ای از اشاره گرها در نظر گرفت. به طور معمول یک اشاره گر حاوی آدرس متغیر است. هنگامی که ما یک اشاره گر به یک اشاره گر دیگر تعریف می کنیم، اشاره گر اول شامل آدرس اشاره گر دوم است و اشاره گر دوم هم به موقعیتی که حاوی مقدار واقعی است، اشاره می کند.
متغیری که خود یک اشاره گر است و به یک اشاره گر دیگر اشاره می کند باید با دو علامت * مشخص شود. مانند نمونه زیر:
1 | int **var; |
مثال زیر نحوه تعریف و استفاده از اشاره گر به اشاره گر در زبان C را نشان می دهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> int main () { int var; int *ptr; int **pptr; var = 3000; /* take the address of var */ ptr = &var; /* take the address of ptr using address of operator & */ pptr = &ptr; /* take the value using pptr */ printf("Value of var = %dn", var ); printf("Value available at *ptr = %dn", *ptr ); printf("Value available at **pptr = %dn", **pptr); return 0; } |
زمانی که کد بالا توسط کامپایلر C و اجرا شود، نتیجه زیر را تولید خواهد کرد:
1 2 3 | Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000 |
هیچ نظری ثبت نشده است