متغیر: نامی برای محل ذخیرهی داده در حافظه
متغیر چیست و چگونه کار میکند؟
متغیر در برنامهنویسی، یک نام نمادین برای یک مکان مشخص در حافظهی رایانه است. وقتی یک متغیر تعریف میکنید، در واقع به رایانه میگویید که یک فضای خالی در حافظه در نظر بگیرد و آن را با نامی که انتخاب کردهاید، بشناسد. سپس میتوانید هر دادهای را در آن فضای خالی ذخیره کنید و بعداً با استفاده از همان نام، به آن داده دسترسی پیدا کنید.
برای استفاده از یک متغیر، ابتدا باید آن را تعریف کنید. در هنگام تعریف، به متغیر یک نام میدهید و معمولاً یک مقدار اولیه نیز برای آن مشخص میکنید. به این عمل «مقداردهی» میگویند. بعد از اینکه متغیر تعریف شد، میتوانید در هر جای برنامه که نیاز دارید، مقدار آن را بخوانید یا مقدار جدیدی در آن ذخیره کنید. به این ترتیب، متغیرها به ما اجازه میدهند که دادهها را در طول اجرای برنامه نگهداری و مدیریت کنیم.
| ویژگی | متغیر | مقدار ثابت |
|---|---|---|
| تغییرپذیری | قابل تغییر در طول برنامه | ثابت و غیرقابل تغییر |
| نامگذاری | دارای نام انتخابی | بدون نام (خود مقدار) |
| مثال | score = 95 | 95 |
| کاربرد | ذخیرهی دادههای پویا | مقادیر ثابت و بدون تغییر |
کاربردهای متغیرها در برنامههای واقعی
متغیرها در همهی برنامههای کامپیوتری حضور دارند و نقش اساسی در ذخیرهسازی و مدیریت اطلاعات بازی میکنند. در یک برنامهی سادهی محاسبهی معدل، از متغیرها برای ذخیرهی نمرات هر درس استفاده میشود. در یک بازی، متغیرها امتیاز بازیکن، تعداد جانها، سطح بازی و موقعیت شخصیتها را نگهداری میکنند. در یک وبسایت فروشگاهی، متغیرها نام کاربر، سبد خرید، قیمت کل و تخفیف را ذخیره میکنند.
متغیرها به برنامهنویس اجازه میدهند که اطلاعات را در طول اجرای برنامه بهروزرسانی کند. مثلاً وقتی یک بازیکن در بازی امتیاز میگیرد، متغیر امتیاز افزایش مییابد. یا وقتی کاربر در یک فروشگاه اینترنتی یک کالا به سبد خرید اضافه میکند، متغیر مربوط به سبد خرید تغییر میکند. بدون متغیرها، برنامهها نمیتوانستند اطلاعات را به خاطر بسپارند و همهی محاسبات باید از ابتدا انجام میشد.
همچنین متغیرها به ما کمک میکنند که کدهای قابلاستفادهتری بنویسیم. به جای اینکه یک مقدار را بارها و بارها در جاهای مختلف کد بنویسیم، آن را در یک متغیر ذخیره میکنیم و هر جا نیاز بود، از نام متغیر استفاده میکنیم. اگر مقدار تغییر کند، فقط کافی است یک بار آن را در متغیر تغییر دهیم و همهی جاهایی که از آن استفاده شده، بهطور خودکار بهروز میشوند.
پرسشهای کلیدی دربارهی متغیرها
آیا یک متغیر میتواند چندین مقدار را همزمان ذخیره کند؟
در حالت عادی، هر متغیر فقط یک مقدار را در خود نگه میدارد. اما با استفاده از ساختارهای خاصی مانند آرایهها و لیستها، میتوانیم چندین مقدار را در یک متغیر ذخیره کنیم. در آن صورت، متغیر به عنوان یک ظرف بزرگتر عمل میکند که چندین داده را در خود جای میدهد.
اگر به یک متغیر مقدار جدید بدهیم، مقدار قبلی چه میشود؟
مقدار قبلی از بین میرود و مقدار جدید جایگزین آن میشود. در واقع، متغیر در هر لحظه فقط آخرین مقداری که به آن داده شده را نگه میدارد. به همین دلیل به آن «متغیر» میگوییم؛ چون مقدار آن میتواند تغییر کند.
چرا گاهی برنامه میگوید متغیر تعریف نشده است؟
این خطا زمانی رخ میدهد که شما از یک نام متغیر استفاده میکنید، اما قبلاً آن را تعریف نکردهاید. یا اینکه نام متغیر را اشتباه تایپ کردهاید. برای رفع این مشکل، باید مطمئن شوید که متغیر را قبل از استفاده تعریف کردهاید و نام آن را درست نوشتهاید.