متغیر (Variable) نامی است که به یک مکان خاص در حافظه کامپیوتر برای ذخیره مقادیر داده در یک برنامه کامپیوتری نسبت داده میشود. یادگیری روش استفاده از متغیرها و نوع دادهای آنها یکی از اصول جدا نشدنی از زبانهای برنامه نویسی به حساب میآید. در مقاله «متغیر در برنامه نویسی چیست و چه کاربردی دارد؟» به آموزش و بررسی انواع متغیر در زبانهای برنامه نویسی و کاربرد آنها پرداخته شده است. در این مقاله با استفاده از مثالهایی از چند زبان برنامه نویسی پر کاربرد امروزی، مفاهیم متغیر در برنامه نویسی مورد بررسی قرار میگیرند.
متغیر در برنامه نویسی چیست ؟
متغیر در برنامه نویسی یک قطعه نامگذاری شده در حافظه کامپیوتر است که دادهها در آن قابل ذخیرهسازی هستند. متغیرها در برنامه نویسی را میتوان مانند جعبهای با یک نام در نظر گرفت که در داخل آن اطلاعاتی ذخیره میشوند. به هر اندازهای که در کدهای برنامه نیاز باشد، میتوان متغیرها را ایجاد، ویرایش و حذف کرد.
متغیرها در برنامه نویسی معمولاً دارای یک نوع داده (Data Type) خاص هستند. که نمایش منطقی و اندازه (Size) آنها را مشخص میکند. متغیرها یکی از مفاهیم و موجودیتهای کلیدی در برنامه نویسی به حساب میآیند و کابرد اساسی در آن دارند. یادگیری چیستی متغیرها یکی از اصول اولیه آموزش زبانهای برنامه نویسی مختلف به حساب میآيد.
برای مثال زمانی که یک Variable در برنامه نویسی با نام «A» و نوع داده «Integer» ایجاد میشود، بسته به زبان برنامه نویسی، کامپایلر و نوع سیستم کامپیوتری، حجم مشخصی دارد که معمولاً در اکثر موارد ۴ بایت است. همچنین میتوان یک متغیر دیگر با نام «B» ایجاد کرد که دارای نوع داده حقیقی (Real) باشد. متغیرها میتوانند ایستا (Static) و یا پویا (Dynamic) باشند. به عنوان مثالی دیگر، فرض بر این است که دو مقدار ۱۰ و ۲۰ در برنامه ذخیره شوند و پس از آن، در مکانهای مختلف در کدهای برنامه مورد استفاده قرار گیرند، برای این کار سه مرحله زیر انجام میگیرد:
- متغیرها در برنامه نویسی با استفاده از نامهای مناسب ایجاد میشوند.
- ذخیره مقادیر مورد نظر در متغیر انجام میگیرد.
- مقادیر ذخیره شده در متغیرها بازیابی و استفاده خواهند شد.
متغیر در برنامه نویسی راهی برای برچسب زدن به دادهها و تعریف نامی برای آنها به حساب میآید. بنابراین، استفاده از متغیرها در برنامه نویسی منجر به وضوح و سادهتر شدن درک کدها و بهبود خوانایی آنها توسط برنامه نویس و سایر افرادی میشود که به هر دلیلی نیاز به خواندن کدها دارند. علاوه بر این، امکان پیادهسازی برخی از کارکردها و قابلیتها در برنامه نویسی هم تنها به وسیله استفاده از متغیرها امکانپذیر است. هدف Variable در برنامه نویسی برچسبگذاری و ذخیره دادهها در حافظه به حساب میآید و سپس این دادهها میتوانند در سراسر کدهای برنامه استفاده شوند.
سیستم عاملها (OS) برنامهها را در قسمتهای مختلف حافظه کامپیوتر بارگذاری میکنند، بنابراین هیچ راهی برای دانستن مکان دقیق حافظه یک متغیر خاص قبل از اجرای برنامه وجود ندارد. هنگامی که به یک متغیر نام نمادینی مانند «employee_payroll_id» اختصاص داده میشود، کامپایلر یا مفسر میتواند محل ذخیره متغیر را در حافظه تعیین کند. در ادامه مطلب «متغیر در برنامه نویسی چیست» به بررسی انواع متغیر در برنامه نویسی پرداخته میشود.
انواع متغیر در برنامه نویسی چیست ؟
در اکثر زبانهای برنامه نویسی برای تعریف یک متغیر نیاز به تعیین نوع آن نیز توسط برنامه نویس وجود دارد. اگرچه در برخی از زبانهای سطح بالاتر و جدیدتر مثل پایتون ، نوع داده تنها با مقداردهی آن متغیر به صورت خودکار تشخیص داده میشود.
نوع داده مشخص میکند که داده مربوطه از چه جنسی است و بر این اساس علاوه بر تخصیص حجم و اندازه متفاوت در حافظه، رفتار و نوع برخورد برنامه با آن نوع داده نیز متفاوت خواهد بود. هر یک از انواع داده رایج که در اکثر زبانهای برنامه نویسی قابل استفاده هستند در ادامه فهرست شده است:
- اعداد صحیح (Integral)
- اعداد با ممیز شناور (Floating point)
- اعداد اعشاری یا دهدهی (Decimal)
- اعداد بولی (Boolean) یعنی درست (True) یا غلط (False) در مقادیر منطقی و داده میرا (Nullable) باشند.
نوع متغیر در برنامه نویسی موارد زیر را بررسی میکند:
- روش مدیریت متغیر
- خطاهای نوع متغیر
- جایگاه متغیر برای کامپایلر
- سایز متغیر برای کامپایلر
- محدودهای که متغیر میتواند در آن ذخیره شود.
- عملیاتی که روی متغیر میتواند اعمال شود.
حال در ادامه این بخش از مقاله «متغیر در برنامه نویسی چیست»، شرح مختصری برای هر یک از انواع داده رایج متغیرها در برنامه نویسی ارائه شده است:
- نوع متغیر Integer: متغیر «Integer» و یا همان «Int» برای تعریف نوع دادههای عدد صحیح مورد استفاده قرار میگیرد. در این نوع از دادهها، تنها اعداد صحیح مثبت و منفی قابل ذخیرهسازی هستند و اعداد اعشاری را نمیتوان در این نوع داده ذخیره کرد.
- نوع متغیر null: عبارت «null» به معنی خالی یا همان پوچ است. در اکثر زبانهای برنامه نویسی از null به عنوان ابراز عدم وجود مقدار برای یک متغیر یا موجودیت دیگر استفاده میشود. null به این معنی است که متغیر مربوطه به هیچ مقدار یا شیئی اشاره نمیکند.
- نوع متغیر char یا string: در نوع دادهای کاراکترهای یونیکد (Unicode)، حروف و کلمات قرار میگیرند. نوع دادههایی که به صورت کلمه و جمله هستند، «string» و دادههایی که از حروف تشکیل شدهاند نیز «char» گفته میشود. char یک حرف و String مجموعهای از حروف یا کلمات است. در نوع char تنها امکان ذخیرهسازی یک کاراکتر واحد وجود دارد.
- نوع متغیر bool:متغیر «bool» یا «Boolean»، یک نوع داده منطقی به حساب میآید که تنها دو مقدار صفر و یک را در برمیگیرد که به معنی صحیح (True) یا ناصحیح (False) بودن آن متغیر است.
- نوع متغیرهای float ،double ،decimal: این سه نوع از متغیرها اعداد حقیقی را در برمیگیرند. اعداد حقیقی همه اعداد صحیح، اعشاری و کسری را شامل میشوند. تفاوت بین این سه متغیر در دامنه اندازه مقادیر آنها است، برای مثال حجم متغیر «double» دو برابر حجم متغیر «float» است و ارقام بیشتری را در خود جای میدهد.
- نوع متغیر long در برنامه نویسی: یک نوع متغیر عدد صحیح است با این تفاوت که این متغیر حداقل ۳۲ بیت حجم دارد.
در بخش بعدی مقاله «متغیر در برنامه نویسی چیست» به دامنه یک متغیر در برنامه نویسی پرداخته شده است.
دامنه یک متغیر در برنامه نویسی
متغیرها در برنامه نویسی قابلیتهای دیده شدن (Visibility) و دامنههای (Scope) متفاوتی بر اساس نوع استفاده و اعلامشان دارند. مفهوم دامنه به محدوده دسترسی به محتویات و مقادیر یک متغیر خاص در نقطه خاصی از برنامه گفته میشود. معمولاً دامنه یک متغیر در برنامه نویسی با استفاده از یک بلوک (Block)، مشخص میشود.
یک بلوک میتواند در بعضی از زبانهای برنامه نویسی صراحتاً با استفاده از مشخص شدن شروع و پایان (Begin/End) آن مثلاً به وسیله آکولاد ({/}) مشخص شود. این در حالی است که در برخی زبانهای برنامه نویسی دیگر بلاکها به صورت ضمنی در نظر گرفته میشوند. برای مثال تابع در برنامه نویسی یک بلوک به حساب میآید.
به طور کلی میتوان گفت که همه زبانهای برنامه نویسی دارای محدوده مرزی (Overall Bounding Scope) هستند و زمانی که Variable در این محدوده تعریف میشود، به آن متغیر همگانی یا سراسری (Global Variable) میگویند، متغیرهای سراسری در قسمتی از برنامه تعریف میشوند که امکان استفاده از آنها در کل کدهای برنامه وجود داشته باشد. از طرف دیگر در برنامه نویسی نوع متغیر دیگری به نام متغیر محلی (Local Variable) وجود دارد که فقط در یک محدوده خاص از برنامه و در داخل یک بلوک قابل استفاده است. برای درک بهتر، مثالی در ادامه آمده است:
integer globalVariable globalVariable = 5 begin integer localVariable localVariable = 7 globalVariable = 8 end localVariable = 3 /*همانطور که در شبهکد بالا مشخص است، متغیرهای سراسری در خارج از بلوک تعریف شدهاند، یعنی در محدوده سراسری متغیرها هستند. اما متغیرهای محلی در یک بلوک با داشتن محدوده شروع و پایان تعریف میشوند و فقط در آن بلوک معنی دارند و اگر خارج از بلوک مورد استفاده قرار بگیرند، خطا ایجاد میکنند. در این مثال، ابتدا عدد پنج به متغیر «globalVariable» اختصاص داده شده است، سپس در داخل بلوک عدد هشت را دریافت میکند و با این عدد از بلوک خارج میشود.
در داخل بلوک، متغیر «localVariable» با عدد ۷ تعریف و مقداردهی شده است. چون این متغیر در داخل بلوک تعریف شده است، در خارج بلوک نمیتوان از آن استفاده کرد و به همین دلیل تغییر مقدار آن به عدد ۳ در کدهای فوق اشتباه است و منجر به بروز خطا در برنامه خواهد شد. در این بخش از مقاله، دامنه یک متغیر در برنامه نویسی شرح داده شد و در بخش بعدی به طول عمر متغیر در برنامه نویسی پرداخته میشود.
طول عمر متغیر در برنامه نویسی
طول عمر Variable در برنامه نویسی به این موضوع اشاره میکند که یک متغیر تا چه زمانی در برنامه وجود دارد. در مثال فوق، متغیر سراسری globalVariable در ابتدای برنامه و خارج از هر بلوکی تعریف شده است و تا انتهای برنامه فعال (Active) بوده و میتواند مورد استفاده قرار بگیرد. اما متغیر محلی localVariable دقیقا پس از شروع بلوک و در داخل بلوک ایجاد میشود و تا زمانی فعال است که بلوک خاتمه یابد و خارج از بلوک بیمعنی و غیرفعال میشود. در ادامه این مقاله به تخصیص حافظه پویا برای متغیر در برنامه نویسی پرداخته شده است.
تخصیص حافظه برای متغیر در برنامه نویسی چیست ؟
همانطور که پیشتر بیان شد، در زمان تعریف یا مقداردهی یک متغیر در برنامه نویسی به آن حافظه اختصاص داده میشود. اما چالش مهمی در خصوص تخصیص حافظه برای یک Variable در برنامه نویسی وجود دارد. مثلا اگر برنامهای برای خواندن فایلهای تصویری نوشته شده باشد، برنامه نویس در ابتدای نوشتن برنامه در مورد اندازه و بزرگی تصویر اطلاعی ندارد.
فیلم آموزش رایگان اصول و مبانی برنامه نویسی در تم آفکلیک کنیدممکن است تصویر به اندازه صدها مگابایت (Megabytes) یا چند کیلوبایت (Kilobytes) و حتی کمتر باشد. اختصاص دادن فضای حافظه زیاد و به اندازه صدها مگابایت به برنامه ممکن است مناسب نباشد و اصلا مورد استفاده قرار نگیرد و از طرفی اجرای برنامه را در بعضی از کامپیوترها دشوار کند.
این بدین معنی است که یک فضای حافظه بزرگ به برنامه اختصاص داده میشود و سپس امکان دارد که عکس ورودی برنامه اندازهای بسیار کمتر از آن داشته باشد و مقدار زیادی فضای اضافی در برنامه باقی میماند. این در حالی است که اختصاص دادن فضای حافظه کم به برنامه باعث میشود برخی از تصاویر بزرگتر از حجم اختصاص داده شده باشند و نتوانند وارد برنامه شوند و باز هم مشکل پیش میآید. اینجاست که قابلیت و رویکردی به نام «تخصیص حافظه پویا» برای Variable در برنامه نویسی کاربرد پیدا میکند. در ادامه مقاله «متغیر در برنامه نویسی چیست» به معرفی و شرح این مفهوم پرداخته شده است.
تخصیص حافظه پویا برای متغیر در برنامه نویسی چیست ؟
یک رویکرد و روش مطلوب برای حل مشکل تطابق حافظه اختصاص داده شده با حجم دادههای ورودی، تخصیص حافظه به برنامه به میزان مورد نیاز است. این روش تخصیص حافظه را تخصیص حافظه پویا (Dynamic Memory Allocation) مینامند. در این روش، حافظه تنها به اندازهای اختصاص داده میشود که برای ذخیرهسازی یک مقدار خاص در متغیر مورد نیاز است. با استفاده از تخصیص حافظه پویا، حافظه تنها به میزان لازم یعنی نه کمتر و نه بیشتر اختصاص داده خواهد شد. رویکرد تخصیص حافظه به صورت پویا در مثال خواندن فایلهای تصویری به برنامه نویس اجازه میدهد که هم فایل تصاویر بزرگ و هم فایل تصاویر کوچک را به صورت مؤثر و کارآمد وارد برنامه و ویرایش کند.
البته در این روش پیچیدگی بیشتری وجود دارد؛ در مثال خواندن فایلهای تصویری، اگر برنامه روی یک کامپیوتر ضعیفتر اجرا شود، ممکن است حافظه کافی برای قرار دادن فایلهای تصویری بزرگ روی آن وجود نداشته باشد. بنابراین باید چنین موقعیتهایی را شناسایی و سیستم سخت افزاری مورد نیاز برنامه را تهیه کرد. در غیر این صورت اجرای برنامه با شکست مواجه میشود. در این بخش از مقاله «متغیر در برنامه نویسی چیست» به شرح تخصیص حافظه پویا برای متغیر در برنامه نویسی پرداخته شد و بخش بعدی به نشت حافظه در تخصیص حافظه پویا اختصاص داده شده است.
نشت حافظه در تخصیص حافظه پویا چیست ؟
تخصیص حافظه پویا یکی از دلایل اصلی بروز «نشت حافظه» (Memory Leak) به حساب میآید؛ یعنی زمانی که حافظهای به برنامه تخصیص داده و برنامه اجرا میشود و به پایان میرسد، برنامه دیگر حافظه استفاده شده را آزاد نمیکند که مجدداً به عنوان قسمتی از حافظه کامپیوتر از آن استفاده شود. این مشکل معمولاً توسط برنامه نویس و در زمان اشکالزدایی (Debuging) کد منبع (Source Code) برطرف میشود. یافتن این مشکلات میتواند دشوار باشد زیرا بر خلاف سایر اشکالات، نشت حافظه به راحتی آشکار نیست.
برخی از زبانهای برنامه نویسی مدرن، رویکردهای پیشفرض (Built In Mechanism) جدیدی به نام بازیافت حافظه (Garbage Collection) برای جلوگیری از نشت حافظه ارائه کردهاند. این سیستم بررسی میکند که کدام قسمت از تخصیص حافظه در چه زمانی مورد استفاده قرار میگیرد و چه زمانی برنامه اجرا و به پایان میرسد و از محدوده خارج میشود. روش بازیافت حافظه، دارای ایرادهای جزئی نیز هست، اما تا کنون به عنوان یک پیشرفت در نظر گرفته شده است. زبانهای جاوا (Java) و پایتون (Python) جهت تخصیص حافظه برای برنامه و متغیر در برنامه نویسی از روش بازیافت حافظه استفاده میشود. در ادامه این مقاله، پیش از پرداختن به اعلان متغیر در برنامه نویسی، مجموعه دورههای آموزشی برنامه نویسی تم آف به علاقهمندان معرفی شدهاند.
- مقاله پیشنهادی: فهرست انواع زبان های برنامه نویسی + کاربرد مزایا و معایب — آنچه باید بدانید
معرفی فیلم های آموزش برنامه نویسی تم آف
در مجموعه تم آف فیلمهای آموزشی بر اساس موضوع به صورت مجموعههای آموزشی مختلفی دستهبندی میشوند. یکی از این مجموعهها مربوط به آموزشهای برنامه نویسی با انواع زبانهای مختلف است. علاقهمندان میتوانند برای یادگیری زبانهای مختلف برنامه نویسی و انواع دادهها از این مجموعه آموزشی استفاده کنند. در زمان تدوین این مقاله، مجموعه دورههای برنامه نویسی تم آف حاوی بیش از ۴۳۰ ساعت محتوای ویدیویی است و نزدیک به ۵۰ عنوان آموزشی مختلف را شامل میشود. دورههای مختلفی در زمینههای گوناگون مرتبط با برنامه نویسی در این مجموعه در دسترس قرار دارند. در ادامه، برخی از دورههای این مجموعه به طور مختصر معرفی شدهاند:
- فیلم آموزش برنامه نویسی جاوا (Java) (طول مدت: 19 ساعت , 19 دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): در این مجموعه آموزشی از آخرین نسخه زبان برنامه نویسی جاوا (Java8) استفاده شده است و مباحث مربوط به برنامه نویسی شی گرا و برنامه نویسی رابطهای گرافیکی (طراحی و برنامه نویسی GUI) مورد بحث و بررسی قرار گرفتهاند. این تم آف به علاقهمندانی پیشنهاد میشود که قصد یادگیری زبان برنامه نویسی جاوا را دارند. برای مشاهده فیلم آموزش برنامه نویسی جاوا (Java) + کلیک کنید.
- فیلم آموزش برنامه نویسی C (طول مدت: ۱۳ ساعت و ۳۰ دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): در این تم آف، مفاهیم زبان برنامه نویسی C به صورت عملی و گام به گام برای پیادهسازی پروژههای برنامه نویسی معرفی میشوند. از این رو در این مجموعه آموزشی نه تنها مباحث تئوری بلکه مباحث عملی نیز به صورت جامع آموزش داده شدهاند. برای مشاهده فیلم آموزش برنامه نویسی C + کلیک کنید.
- فیلم آموزش برنامه نویسی پایتون (Python) – مقدماتی (طول مدت: ۱۹ ساعت و ۵۳ دقیقه، مدرس: پژمان اقبالی شمس آبادی): در این دوره آموزشی، برنامه نویسی پایتون از پایه آموزش داده و سعی شده است تمام مباحث مقدماتی مورد نیاز برای برنامه نویسی پایتون پوشش داده شوند. مخاطبان این دوره نیاز به دانش قبلی از برنامه نویسی پایتون ندارند و سعی میشود تمام مطالب لازم در همین دوره بیان شود. برای مشاهده فیلم آموزش برنامه نویسی پایتون (Python) – مقدماتی + کلیک کنید.
- فیلم آموزش برنامه نویسی متلب برای علوم و مهندسی (طول مدت: ۱۴ ساعت و ۳۰ دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): در این تم آف، دانشجویان با مباحث مختلفی از جمله دستورات برنامه نویسی متلب (Matlab)، متغیرها، حل انواع معادلات، محاسبات، تحلیل آماری و ایجاد تابع در برنامه نویسی متلب برای علوم و مهندسی آشنا میشوند. جهت مشاهده فیلم آموزش برنامه نویسی متلب برای علوم و مهندسی + کلیک کنید.
- فیلم آموزش جاوا اسکریپت (JavaScript) — از مقدماتی تا انجام پروژه عملی (طول مدت: ۹ ساعت و هشت دقیقه، مدرس: محمد عبداللهی): جاوا اسکریپت زبان برنامه نویسی است که به وسیله آن عناصر «HTML» موجود در صفحه وب و مقادیر «CSS» آنها تغییر پیدا میکنند و نیز ابزاری برای اعتبارسنجی دادهها است که در این تم آف آموزش داده میشود. برای مشاهده فیلم آموزش جاوا اسکریپت (JavaScript) — از مقدماتی تا انجام پروژه عملی + کلیک کنید.
- فیلم آموزش برنامه نویسی C++ (طول مدت: ۲۰ ساعت و ۱۴ دقیقه، مدرس: دکتر فرشید شیرافکن): در این تم آف آموزش برنامه نویسیC++ در دو بخش معرفی دستورات و ساختمان داده و بیان مفاهیم شی گرایی ارائه شده است. تمام نرم افزارهایی که به صورت روزمره در ویندوز از آنها استفاده میشود، توسط زبان مادر C و ++C نوشته شدهاند و در صنعت خودروسازی، معماری، بانکی، کنسول بازی و سایر موارد کاربرد دارند. برای مشاهده فیلم آموزش برنامه نویسی C++ + کلیک کنید.
حال پس از معرفی مجموعه فیلمهای آموزشی برنامه نویسی، روش اعلان متغیر در برنامه نویسی شرح داده شده است.
اعلان متغیر در برنامه نویسی چیست ؟
قبل از استفاده از یک متغیر، باید آن را اعلان یا معرفی کرد (Declaring Variables). این موضوع به معنی این است که باید به آن یک نام و یک نوع اختصاص داده شود. بعد از اینکه یک متغیر اعلان شد، میتوان از آن برای ذخیره نوع دادهای استفاده کرد که اعلان شده است.
اگر برنامه نویس بخواهد متغیری را استفاده کند که اعلان نشده است، کد کامپایل نمیشود و خطا ایجاد خواهد شد. از آنجایی که در هر زبان برنامه نویسی روش اعلان متغیرها در برنامه متفاوت است، در ادامه به بررسی ایجاد و اعلان متغیرها در چند زبان برنامه نویسی پرداخته میشود. ابتدا ایجاد متغیر در زبان برنامه نویسی پایتون شرح داده شده است.
ایجاد متغیر در برنامه نویسی پایتون
زبان برنامه نویسی پایتون هیچ فرمان خاصی برای اعلان متغیرهایش ندارد و متغیر زمانی ایجاد خواهد شد که برای اولین بار به آن مقداری اختصاص داده میشود.
برای مثال دستورات زیر ارائه شدهاند:
x = 5
y = "John"
در مثال فوق، متغیر x مقدار Integer عدد ۵ و متغیر y مقدار رشتهای John را دریافت میکنند. در ادامه این بخش به بررسی ایجاد و اعلان متغیر در زبان برنامه نویسی #C (سی شارپ) پرداخته شده است.
ایجاد متغیر در برنامه نویسی #C
اعلان متغیر در زبان برنامه نویسی #C ساده است.
در ادامه شبهکد ایجاد متغیر در زبان #C به صورت زیر نشان داده شده است:
;
در زبان سیشارپ و اکثر زبانهای برنامه نویسی، چندین داده را در یک خط تعریف کرد که نام این دادهها با استفاده از ویرگول از هم جدا میشوند. در دستورات زیر نحوه نوشتن این دادهها نشان داده شده است:
int i, j, k;
char c, ch;
در دستورات فوق، پنج متغیر با دو نوع داده ذخیره میشوند، متغیر j ،i و k به عنوان نوع دادهای Integer یا همان عدد صحیح در حافظه برنامه جای میگیرند و متغیر c و ch به عنوان نوع دادهای char یا همان حروف در حافظه برنامه ذخیره میشوند. در ادامه این بخش به بررسی ایجاد و اعلان متغیر در زبان برنامه نویسی C پرداخته شده است.
ایجاد متغیر در برنامه نویسی C
در زبان برنامه نویسی «C»، تعریف و ایجاد متغیرها نسبت به زبانهای برنامه نویسی دیگر متفاوت است زیرا در این زبان برنامه نویسی برنامهها در یک تابع اصلی به نام «()int main» ذخیره میشوند.
در ادامه نمونهای از تعریف متغیرها در برنامه نویسی C ارائه شده است:
#include
int main() {
int a;
int b;
}
برنامه فوق دو متغیر برای ذخیره دو مکان در حافظه با نام «a» و «b» ایجاد میکند. این متغیرها با استفاده از کلمه کلیدی int به عنوان نوع داده تعریف شدهاند و به این معنی است که قصد ذخیره مقدار Integer در این دو متغیر وجود دارد. به صورت مشابه، میتوان متغیرهایی برای ذخیره نوع دادهای long ،float ،char و یا هر نوع دادهای دیگری به صورت زیر تعریف کرد:
/* . long تعریف یک متغیر از نوع */
long a;
/* . float تعریف یک متغیر از نوع */
float b;
در زبان برنامه نویسی C نیز میتوان متغیرها را در یک خط تعریف و برای جدا کردن آنها از ویرگول استفاده کرد، در کدهای زیر نحوه تعریف متغیرها به این شیوه قابل ملاحظه است.
#include
int main() {
int a, b;
}
در مقاله «متغیر در برنامه نویسی چیست» پس از ایجاد متغیر در برنامه نویسی C، به چند نکته کلیدی پیرامون متغیر در برنامه نویسی پرداخته شده است.
چند نکته کلیدی پیرامون متغیر در برنامه نویسی
در فهرست زیر نکات کلیدی درباره متغیرها گردآوری شده است که باید آنها را در هر زبان برنامه نویسی رعایت کرد.
- نام متغیر میتواند فقط یک نوع مقدار را در خود جای دهد. به عنوان مثال، اگر متغیر a از نوع int تعریف شده باشد، آنگاه میتواند فقط عدد صحیح را ذخیره کند.
- زبان برنامه نویسی C به ایجاد متغیر نیاز دارد، این موضوع به معنی اعلان متغیرها قبل از استفاده از آنها در برنامه است. امکان استفاده از نام متغیرها بدون ایجاد آنها در برنامه وجود ندارد، اما در برخی از زبانهای برنامه نویسی مانند زبان پایتون میتوان از نام متغیرها بدون اعلان آنها استفاده کرد و تنها با مقداردهی، متغیر مربوطه به صورت خودکار اعلان میشود.
- نوع داده متغیر را تنها یک بار میتوان تعیین کرد. برای مثال، اگر متغیر a به عنوان یک نوع دادهای Integer ذخیره شده باشد، دیگر نمیتوان متغیر a را مجدداً به عنوان نوع دادهای دیگری در برنامه تعریف کرد، مگر اینکه این متغیر حذف و مجدداً اعلان شود.
- زبانهای برنامه نویسی مانند «PHP» ،«Perl»، پایتون و زبانهای دیگری از این قبیل وجود دارند که در زمان ایجاد متغیرها نیازی نیست نوع داده آنها مشخص شود. بنابراین میتوان نوع داده متغیرهای Integer ،float ،long و سایر موارد را بدون تعیین نوع داده آنها ذخیره کرد.
- میتوان هر نامی برای متغیرها مانند «Age» ،«Salary» و «Year1990» یا هر چیز دیگری در نظر گرفت، اما اکثر زبانهای برنامه نویسی امکان استفاده از کاراکترهای محدودی را به عنوان نام متغیر به برنامه نویس میدهند. این نکته را باید به خاطر داشت که برای شروع یک نام متغیر باید حتماً از حروف استفاده شود و امکان شروع نام متغیر با اعداد وجود ندارد.
- تقریباً هیچ زبان برنامه نویسی امکان شروع نام متغیر با عدد را ندارد. بنابراین، برای مثال نام «1990year» یک نام معتبر به حساب نمیآید، اما میتوان از «ye1990ar» و «year1990» به عنوان نام متغیرها در برنامه نویسی استفاده کرد که نامهای معتبری به شمار میروند.
هر زبان برنامه نویسی قوانین بیشتری درباره متغیرهای خود دارد که به صورت جزئیتر با انتخاب نوع زبان برنامه نویسی برای شروع یادگیری، میتوان آنها را آموخت. در بخش بعدی این مقاله به بررسی مقداردهی متغیرها در برنامه نویسی پرداخته شده است.
مقداردهی متغیر در برنامه نویسی
مقداردهی و نامگذاری متغیرها در برنامه نویسی یکی از کارهای مهمی به شمار میرود که برنامه نویسان موظف به انجام آن هستند. به دلیل اینکه هنگام انتخاب نام برای متغیرها، باید با دقت در مورد آن فکر کرد تا برای کسی که قصد خواندن برنامه را دارد قابل توصیف و فهم باشد. همچنین امکان دارد برنامه نویس کدهایی را چند ماه و حتی چند سال قبل نوشته باشد و مجدداً قصد بررسی و استفاده از آنها را داشته باشد.
پس باید نامها طوری تعریف شوند که بعداً نیز قابل فهم باشند. مقدار اولیه که به متغیرها اختصاص داده میشود، هم در مقابل اعلان متغیر یعنی در یک خط میتوانند به آن نسبت داده شوند و هم در ادامه کدهای برنامه امکان تعریفشان وجود دارد. در بخشهای قبلی به روش ایجاد متغیر در زبانهای برنامه نویسی گوناگون پرداخته شد. حال در این بخش نحوه مقداردهی متغیرها در چند زبان برنامه نویسی آموزش داده شده است.
مقداردهی متغیرها در زبان برنامه نویسی #C
در این بخش به روش مقداردهی متغیرها در زبان برنامه نویسی #C پرداخته شده است.
در این زبان برنامه نویسی مقادیر به صورتی مقداردهی میشوند که در مثال زیر ارائه شده است:
int i = 100;
حال در ادامه مثالی برای حالتی آمده که متغیرها در زبان سیشارپ ابتدا تعریف شده و سپس در ادامه برنامه مقداردهی میشوند:
short a;
int b;
double c;
/*مقداردهی اولیه واقعی */
a = 10;
b = 20;
c = a + b;
این موضوع را باید به خاطر داشت که برای مقداردهی متغیرها از علامت مساوی (=) پس از تعیین نوع داده و نام آن استفاده میشود. در ادامه این بخش از مقاله به بررسی مقداردهی و ذخیرهسازی متغیرها در زبان برنامه نویسی روبی (Ruby) پرداخته میشود.
مقداردهی متغیرها در زبان برنامه نویسی روبی
در این بخش از مقاله کدی به زبان برنامه نویسی روبی برای توصیف مفهوم مقداردهی و ذخیرهسازی مقادیر در متغیرها ارائه شده است:
irb :001 > first_name = 'Joe'
=> "Joe"
با وارد کردن نام متغیر تعریف شده در خط فرمان روبی، مقدار آن در خروجی نمایش داده میشود.
irb :002 > first_name
=> "Joe"
در مثال فوق متغیری با نام «first_name» از نوع رشتهای (String) به زبان روبی تعریف و در حافظه ذخیرهسازی شده است. به این ترتیب در صورتی که در هر جایی از برنامه نیاز به استفاده از مقدار Joe یا تغییر آن وجود داشته باشد، میتوان به متغیر first_name رجوع کرد. در برنامه نویسی حتما باید به این موضوع توجه داشت که دو عملگر «=» و «==» باهم اشتباه گرفته نشوند.
عملگر «=» برای اختصاص دادن یک مقدار به متغیر مورد استفاده قرار میگیرد، اما علامت «==» برای مقایسه برابر بودن دو متغیر استفاده میشود. در ادامه مثال دیگری از زبان برنامه نویسی روبی برای درک اعلان و تعریف متغیرها ارائه شده است:
irb :001 > a = 4
=> 4
irb :002 > b = a
=> 4
irb :003 > a = 7
=> 7
در این مثال باید به این موضوع توجه کرد که مقدار b عدد ۴ را برمیگرداند، در حالی که مقدار a عدد ۷ را نشان میدهد. این موضوع نشان دهنده این است که مقادیر و متغیرها در حافظه ذخیره میشوند، اما میتوان مقدار آنها را تغییر داد. اگرچه در برخی از زبانهای برنامه نویسی متغیری با نوع ثابت یا Const وجود دارد که مقدار آنها پس از مقداردهی اولیه قابل تغییر نیست. در ادامه این بخش از مقاله به بررسی مقداردهی متغیرها در زبان برنامه نویسی C پرداخته شده است.
مقداردهی متغیرها در زبان برنامه نویسی C
در این بخش روش مقداردهی به متغیر در این زبان برنامه نویسی شرح داده شده است:
#include
int main() {
int a;
int b;
a = 10;
b = 20;
}
در برنامه فوق دو عبارت جدید به کدهای ایجاد متغیر در زبان برنامه نویسی C اضافه شده است. مقدار ۱۰ در متغیر a از نوع داده integer و مقدار ۲۰ در متغیر b نیز با همان نوع داده ذخیره میشود. تقریباً همه زبانهای برنامهنویسی روشی مشابه برای ذخیره مقادیر در متغیر دارند که در آن نام متغیر در سمت چپ علامت مساوی = قرار دارد و هر مقداری که در متغیر ذخیره خواهد شد، در سمت راست به آن تخصیص داده میشود. حال میتوان گفت زمانی که برنامه فوق اجرا میشود، مکان حافظهای به نام a با مقدار متغیر ۱۰ و مکان حافظهای به نام b با مقدار متغیر ۲۰ در حافظه سیستم ایجاد شده است. در بخش بعد، دسترسی به مقادیر ذخیره شده در متغیرها در زبان برنامه نویسی C توضیح داده میشود.
دسترسی به مقادیر ذخیره شده در متغیرها در زبان برنامه نویسی C
اگر از مقادیر ذخیره شده در متغیرها استفاده نشود، ایجاد متغیرها و ذخیره مقادیر در آنها فایدهای ندارد. مقدار ۱۰ و ۲۰ در برنامه فوق به ترتیب در متغیر a و b ذخیره شده است. در این قسمت جهت استفاده از این متغیرها، سادهترین کاری که میتوان روی متغیرها انجام داد، چاپ آنها به حساب میآید. کدهای زیر روش چاپ متغیرها در زبان برنامه نویسی C را نشان میدهند.
#include
int main() {
int a;
int b;
a = 10;
b = 20;
printf( "Value of a = %dn", a );
printf( "Value of b = %dn", b );
}
پس از اجرای برنامه فوق، نتایج زیر در خروجی نشان داده میشوند:
Value of a = 10 Value of b = 20
در برنامه فوق تابع «()printf» که برای چاپ در زبان برنامه نویسی C مورد استفاده قرار میگیرد، جهت چاپ متغیرها در این زبان استفاده شده است. حتی میتوان با استفاده از کدهای زیر در یک خط متغیرها را چاپ کرد:
#include
int main() {
int a;
int b;
a = 10;
b = 20;
printf( "Value of a = %d and value of b = %dn", a, b );
}
خروجی برنامه فوق به صورت زیر است:
Value of a = 10 and value of b = 20
اگر در زبان برنامه نویسی C قصد چاپ متغیر «float» وجود داشته باشد، از «f%» به جای «d%» استفاده میشود. همچنین اگر قصد، چاپ متغیر «Character» باشد باید از «c%» استفاده شود. به طور مشابه، انواع دادههای گوناگون با «%» مختلف استفاده و چاپ میشوند. در زبان برنامه نویسی C نیز امکان اعلان، تعریف و مقداردهی متغیرها در یک خط به صورت زیر وجود دارد:
#include
int main() {
int a = 10;
int b = 20;
printf( "Value of a = %d and value of b = %dn", a, b );
}
در بخش بعدی این مقاله، به بررسی متغیرها در زبان برنامه نویسی جاوا پرداخته شده است.
مقداردهی متغیرها در زبان برنامه نویسی جاوا
مثالی که برای زبان برنامه نویسی جاوا ارائه شده است، همان مثالی است که در برنامه فوق و در زبان برنامه نویسی C وجود داشت.
حال در این بخش همان مثال با استفاده از زبان برنامه نویسی جاوا مشاهده میشود.
public class DemoJava {
public static void main(String []args) {
int a;
int b;
a = 10;
b = 20;
System.out.println("Value of a = " + a);
System.out.println("Value of b = " + b);
System.out.println("Value of a = " + a + " and value of b = " + b);
}
}
زمانی که کدهای بالا اجرا میشوند، خروجی زیر نمایش داده میشود:
Value of a = 10 Value of b = 20 Value of a = 10 and value of b = 20
در زبان برنامه نویسی جاوا نیز امکان تعریف و مقداردهی متغیرها در یک خط وجود دارد. در بخش بعدی مقاله «متغیر در برنامه نویسی چیست و چه کاربردی دارد؟» به بررسی متغیرها در زبان برنامه نویسی پایتون پرداخته شده است.
مقداردهی متغیرها در زبان برنامه نویسی پایتون
در این بخش، مثال قبلی با زبان برنامه نویسی پایتون نوشته شده است. همانطور که گفته شد در این مثال دو متغیر a و b با مقادیر ۱۰ و ۲۰ ذخیره و چاپ میشوند. در زبان پایتون نیازی به مشخص کردن نوع داده، زمان ایجاد آن و همچنین نیازی به ایجاد متغیر از قبل وجود ندارد.
a = 10
b = 20
print "Value of a = ", a
print "Value of b = ", b
print "Value of a = ", a, " and value of b = ", b
زمانی که برنامه فوق اجرا شد، خروجی زیر نمایش داده میشود:
Value of a = 10 Value of b = 20 Value of a = 10 and value of b = 20
در ادامه مقاله «متغیر در برنامه نویسی چیست» به دریافت داده از کاربر در برنامه نویسی پرداخته میشود.
دریافت داده از کاربر در برنامه نویسی چگونه است؟
تا به اینجای مقاله، به این موضوع پرداخته شد که چطور دادهها برای متغیرها در حین برنامه با روشهای گوناگون تعریف شوند. اما واقعیت این است که برنامه نویس نیاز دارد برنامهای تولید کند که بتواند توسط آن با روشهای جذابی با کاربران برنامه ارتباط داشته باشد. جهت انجام این کار، برنامه نویس باید به کاربر این امکان را بدهد که اطلاعات خود را به راحتی در متغیرها ذخیرهسازی کند. سپس برنامه نویس تصمیم بگیرد که قصد انجام چه کاری را با این اطلاعات دریافت شده از کاربر دارد.
یکی از روشهایی که با استفاده از آن میتوان اطلاعات را از کاربر دریافت کرد فراخوانی متُدهای (Method) خاصی است که برای این کار ایجاد شدهاند. در زبان برنامه نویسی روبی از متد «gets» برای دریافت این اطلاعات از کاربر استفاده میشود. زمانی که از این متد استفاده میشود، برنامه صبر میکند تا کاربر اطلاعات را وارد کند و سپس دکمه «Enter» را بزند. برای درک بهتر این مسئله مثال زیر ارائه شده است:
irb :001 > name = gets
Bob
=> "Bobn"
بعد از کد «name = gets»، کامپیوتر صبر میکند تا کاربر اطلاعات لازم را وارد کند. و کاربر کلمه «Bob» را مینویسد و دکمه Enter را میزند تا خروجی «Bobn» برای برنامه نشان داده شود. «n» در آخر خط خروجی نشاندهنده تمام شدن خط و رفتن به خط بعدی است که با زدن دکمه Inter ایجاد میشود، اما قسمتی از String خروجی نیست. برای حذف این کاراکتر در خروجی میتوان تابع «chomp» را با «gets» به صورت «gets.chomp» ترکیب کرد تا کاراکترهای اضافی ایجاد شده به دلیل زدن دکمه Inter در خروجی، حذف شوند. در کدهای زیر مثال استفاده از این تابع ارائه شده است:
irb :001 > name = gets.chomp
Bob
=> "Bob"
اکنون میتوان از متغیر «name» به صورت درست و کارآمد استفاده کرد. کدهای زیر روش استفاده از این متغیر در برنامه نویسی را نشان میدهند:
irb :001 > name = gets.chomp
Bob
=> "Bob"
irb :002 > name + ' is super great!'
=> "Bob is super great!"
بدین ترتیب در این مقاله به تعریف و بررسی انواع متغیرها پرداخته شد. سعی شد تا جایی که ممکن است به طور جامع و ساده چیستی متغیر در زبان برنامه نویسی همراه با مثال بررسی شود. در ادامه این مطلب، به معرفی چند دوره آموزشی زبان برنامه نویسی تم آف پرداخته میشود.
- مقاله پیشنهادی: مبانی برنامه نویسی – آشنایی با ساختار و مولفههای یک زبان برنامه نویسی
معرفی فیلم های آموزش زبان های برنامه نویسی
در نهایت، در این بخش انتهایی مقاله «متغیر در برنامه نویسی چیست و چه کاربردی دارد؟» برای یادگیری بیشتر، تعدادی از دورههای آموزش برنامه نویسی تم آف به علاقهمندان معرفی شدهاند. مفهوم متغیر در برنامه نویسی و همچنین نحوه تعریف و فراخوانی آن در تمام این دورههای آموزشی شرح داده و تمرینهای عملی در آنها ارائه شده است. ابتدا به معرفی آموزش زبان برنامه نویسی C پرداخته میشود.
آموزش برنامه نویسی C
در این مجموعه آموزشی مفاهیم زبان برنامه نویسی C معرفی شده است و به صورت عملی و گام به گام برای پیادهسازی پروژههای برنامه نویسی، مورد استفاده قرار گرفتهاند و از این رو، این مجموعه آموزشی نه تنها مباحث تئوری بلکه مباحث عملی را نیز به صورت کامل و جامع به مخاطبین و علاقهمندان، آموزش میدهد. طول مدت این دوره نزدیک به ۱۴ ساعت و مدرس آن دکتر سید مصطفی کلامی هریس است. این دوره ۱۲ درس دارد و برخی از سرفصلهای آن شامل، آشنایی با اجزای سازنده یک برنامه C مانند تعریف متغیر از نوع عدد صحیح (Integer)، ساختارهای کنترل برنامه در C مانند مقداردهی متغیرها یا Assignment، پیادهسازی و استفاده از توابع در C مانند شیوه ذخیرهسازی متغیرها در حافظه، ساختار (Structure) و یونیون (Union) مانند تعریف متغیرهایی از نوع ساختارهای تعریف شده و سایر موارد است.
- برای مشاهده فیلم آموزش برنامه نویسی C + اینجا کلیک کنید.
فیلم آموزش مقدماتی برنامه نویسی سی شارپ C#))
در این تم آف، قصد بر این است تا آموزش زبان برنامه نویسی C# از ابتداییترین مفاهیم گرفته تا پیشرفتهترین آنها پوشش داده شوند تا اگر شخصی هیچ آشنایی قبلی با این زبان برنامه نویسی نداشته باشد، با دیدن این آموزش، در کوتاهترین زمان ممکن، تبدیل به یک برنامه نویس ماهر #C شود. بنابراین به دانشجویان و علاقهمندانی که قصد یادگیری این زبان را دارند، فیلم آموزش مقدماتی برنامه نویسی سی شارپ C#)) پیشنهاد میشود. طول مدت این دوره نزدیک به ۹ ساعت و مدرس آن وحید اسدزاده است. این دوره ۱۱ درس دارد که برخی از سرفصلهای آن شامل، مفاهیم اولیه سیشارپ، متغیرها، ثوابت، کار با محیط فرمی و معرفی کنترلها، عبارتها، عملگرها و دستورات شرطی، حلقهها، آرایهها، متدها و کلاسها، پشتیبانگیری و بازیابی اطلاعات در سیشارپ و سایر موارد است.
- برای مشاهده فیلم آموزش مقدماتی برنامه نویسی سی شارپ C#)) + اینجا کلیک کنید.
فیلم آموزش برنامه نویسی PHP
زبان برنامه نویسی PHP یکی از زبان های برنامه نویسی سمت سرور است که کاربرد اصلی آن در پیاده سازی وب سایتهای پویا است. بازنویسی هسته PHP و ایجاد موتور پردازشی زند (Zend Engine) تحول بزرگی را در مسیر و تاریخچه زبان برنامه نویسی PHP ایجاد کرده است و در طی ۱۰ سال، این زبان برنامه نویسی، به مهمترین ابزار برای پیادهسازی پروژههای وب تبدیل شد. هدف این تم آف آموزش تمامی نکات و مهارتهای عملی لازم برای ورود به دنیای برنامه نویسی PHP و پیادهسازی وب است. طول مدت این دوره نزدیک به 29 ساعت و مدرس آن دکتر سید مصطفی کلامی هریس است.
این دوره 29 درس را در بر میگیرد. از جمله سرفصلهای مهم این دوره، میتوان به آشنایی با زبان برنامه نویسی PHP، متغیرها، انواع داده ها و ثوابت، متغیرها و کاربردهای آنها، تشخیص متغیرهای خالی، تشخیص متغیرهای تعریف شده، نمایش جزئیات یک متغیر در مرورگر، پروژه ایجاد یک سیستم مدیریت محتوا یا CMS ساده با استفاده از PHP و MySQL و سایر موارد اشاره کرد.
- برای مشاهده فیلم آموزش برنامه نویسی PHP + اینجا کلیک کنید.
آموزش مقدماتی زبان برنامه نویسی روبی
در زبان برنامه نویسی روبی همه چیز شی است و در واقع روبی نهایت شی گرایی به حساب میآید. زبان روبی شباهتهایی به زبان پایتون دارد و نیز از زبان هایی مانند پرل (Perl)، اسمال تاک (Smalltalk)، ایفل (Eiffel)، ایدا (Ada) و لیسپ (Lisp) تاًثیراتی پذیرفته است. در این تم آف دانشجویان و علاقهمندان با روبی و مفاهیم مرتبط با پیادهسازی شی گرا در آن آشنا میشوند. طول مدت این دوره آموزشی تقریباً 11 ساعت و مدرس آن میر حسن شمس موسوی است. این دوره شامل 16 درس میشود و روبی در سیستم عاملهای مختلف، شروع برنامه نویسی، متغیرها، ثابتها و انواع دادهها، قوانین نامگذاری متغیرها، معرفی متدها (توابع) و سایر موارد از جمله مباحث و سرفصلهای این دوره به حساب میآیند.
- برای مشاهده فیلم آموزش مقدماتی زبان برنامه نویسی روبی + اینجا کلیک کنید.
جمعبندی
با توجه به اینکه زبانهای برنامه نویسی در عصر ارتباطات وظیفهای حیاتی برای سازمانها و کسب و کارها به حساب میآیند، یادگیری زبان برنامه نویسی و تمام بخشهای آن مانند متغیر در برنامه نویسی مسئله مهمی به شمار میرود.
در این مقاله سوال متغیر در برنامه نویسی چیست و چه کاربردی دارد، مورد بررسی قرار گرفت و به آن پاسخ داده شد. همچنین، سعی شد به روش تعریف و مقداردهی متغیرها در چند زبان برنامه نویسی مانند C، روبی، جاوا، پایتون و #C همراه با کاربرد آنها به طور کامل پرداخته شود.