آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

محدوده متغیر ها در زبان برنامه نویسی ++C به طور کلی به سه دسته تقسیم می شوند که عبارتند از:
۱- متغیر های محلی یا (Local Variables)
۲- متغیر های سراسری یا (Global Variables)
۳- پارامتر های رسمی یا (Formal Parameters)
متغیر های محلی (Local Variables): محدوده متغیر ها در این نوع در داخل تابع است. بطور مثال اگر شما در تابع ()main هر متغیری تعریف کنید ملقب به متغیر محلی خواهد شد. توجه کنید که این ها فقط به تابع ()main می باشند و در هر تابعی نمی توان از آن استفاده نمود. همانطور که گفته شد محدوده متغیر ها تنها محدود به تابع است و در خارج از آن قابل استفاده نمی باشد(اما می شود با استفاده از کد return متغیر های محلی را از توابع دیگر به تابع ()main معرفی نمود). عمر این متغیر ها از زمان شروع بکار تابع تا اتمام آن است. بطور مثال شما تابعی تعریف کرده اید و در آن از متغیری استفاده کرده اید و در تابع ()main تنها یک بار آن را صدا زده اید بنابراین عمر این متغیر محلی از زمان شروع بکار آن تابع تا پایان آن است و بعد آن ازبین خواهد رفت.

تمام متغیر های (a ,b ,c) محلی می باشند و در بیرون از تابعی که در آن تعریف شده اند (در اینجا مقصود تابع main() می باشد) کاربردی نخواهند داشت زیرا محدوده متغیر ها در این نوع محدود به تابع است (در واقع توابع دیگر از وجود چنین متغیری خبری ندارند).
متغیر های سراسری (Global Variables): محدوده متغیر ها در این نوع در بیرون از تابع است (معمولا در بالای تابع main()). عمر این متغیر ها از زمان اجرای برنامه تا زمان بسته شدن آن است و تا آن زمان اطلاعات خود را نگه می دارند. با توجه به بالا بدلیل اینکه محدوده متغیر ها در این نوع محدود به تابع نیست و در بیرون آن قرار دارد پس در تمام توابع بکار رفته در یک برنامه قابل استفاده می باشد.

خروجی به صورت شکل زیر است:

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

در این مثال می بینید که هر تابع می تواند از متغیر a که متغیری سراسری است استفاده کند.
پارامتر ها یا متغیر های رسمی: محدوده متغیرها در این نوع محدود به پَرانتِز باز و بسته توابع می باشد بطور مثال اگر تابعی تعریف کنید که ورودی بخواهد آن دسته از متغیر هایی را که برای ورودی تابع انتخاب می کنید متغیر یا پارامتر اصلی گویند.

در مثال بالا (a,b) متغیر یا پارامتر اصلی هستند.
نکته : اگر شما دو متغیر هم نام تعریف کنید یکی محلی و دیگری سراسری و در همان تابع از آن خروجی بگیرید اولویت با آن متغیری است که در همان تابع تعریف شده است.

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

اشاره گر ها یا (Pointers):
همانطور که میدانید هر متغیر یک قسمت از رم را اشغال می کند که خب این قسمت ها هر کدام برای خود آدرس مخصوصی دارند که برای دسترسی به آن از علامت (&) در پشت متغیر استفاده می کنیم به مثال ذیل توجه کنید.

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

همانطور که می بینید ابتدا عدد ۲۰ نمایش داده میشود و سپس آدرس محلی که عدد بیست در آن نگه داری می شود با استفاده از علامت (&) نمایش داده می شود.
پوینتر ها: پوینتر ها در واقع متغیر هایی هستند که کارشان نگه داری آدرس است. برای مثال شما می توانید آدرس متغیر a را در یک پوینتر یا اشاره گر قرار دهید. برای تعریف یک اشاره گر می بایست در پشت نام متغیر از علامت (*) استفاده کنید.

نکته: نمی توان در یک متغیر عادی آدرس را نگه داری کرد بنابراین دقت کنید که حتما برای نگه داری آدرس متغیر از نوع اشاره گر تعریف کرده باشید.

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

توجه کنید که اگر:

برنامه با خطا مواجه می شود زیرا متغیر تعریف شده اشاره گر نمی باشد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *