آدرس حافظه (Memory Address)
وقتی یک «متغیر (Variable)» می سازیم، یک «آدرس حافظه (Memory Address)» می گیرد. آدرس حافظه جای دقیق ذخیره سازی روی کامپیوتر است. بنابراین مقدار متغیر همان جا نگهداری می شود.
نمایش آدرس حافظه با آدرس حافظه و %p
برای دسترسی، از «عملگر ارجاع (&)» استفاده کن. نتیجه مکان ذخیره متغیر است. برای چاپ آدرس، از «قالب نما %p» استفاده کن.
int myAge = 43;
printf("%p", &myAge);
// نمونه خروجی: 0x7ffe5367e044
نکته: آدرس حافظه معمولاً «هگزادسیمال» است و روی هر اجرا فرق دارد. همچنین &myAge را «پوینتر (Pointer)» هم می گویند. پوینتر مقدارش همان آدرس است.
چرا دانستن آدرس حافظه مهم است؟
پوینترها داده را مستقیماً در حافظه دستکاری می کنند. این کار کد را کمتر می کند و کارایی را بهتر می کند. پوینترها یکی از تفاوت های مهم C با پایتون و جاوا هستند.
گام های عملی
- یک متغیر بساز و مقدار بده.
- با
&آدرس متغیر را بگیر. - با
printfو%pآدرس را چاپ کن.
برای ادامه مسیر، صفحه پوینترها را ببین. همچنین نمونه ورودی در ورودی کاربر مفید است. این لینک درباره آدرس حافظه هم کاربردی است.
جمع بندی سریع
&آدرس متغیر را می دهد.%pآدرس را چاپ می کند.- آدرس ها معمولاً هگز هستند.
- پوینتر آدرس را نگه می دارد.
- پوینترها کارایی را بهتر می کنند.