آموزش, رفرنس

حوزه‌ی دید متغیرها در آردوینو

حوزه‌ی دید متغیرها در آردوینو

متغیرها در زبان C که آردوینو از آن استفاده می‌کند، ویژگی‌‌ای به نام حوزه دید (scope) دارند. اولین نسخه‌های زبان‌ها مثل BASIC، این ویژگی را نداشتند و همه‌ی متغیرها  global بودند.

متغیرهای global (سراسری)، در همه‌ی توابع قابل‌مشاهده و معتبر هستند. در آردوینو هر متغیری که خارج از یک تابع (مانند ()setup()، loop و …) تعریف شود، یک متغیر global خواهد بود. متغیرهای local (محلی) تنها در تابعی که تعریف شده‌اند قابل‌مشاهده هستند.

وقتی‌که برنامه شروع به گسترش و به‌تبع آن پیچیدگی می‌کند، متغیرهای local راه خوبی برای کسب این اطمینان هستند که تنها یک تابع به متغیرهای خودش دسترسی دارد. اگر یک تابع به‌صورت غیرعمدی متغیرهای یک تابع دیگر را تغییر دهد، خطا (ارور) رخ می‌دهد. اما استفاده از این نوع متغیر از این خطاهای برنامه‌نویسی جلوگیری خواهد کرد.

هم‌چنین تعریف و مقداردهی اولیه متغیر درون حلقه‌‌ی فور گاهی اوقات مفید است. این نوع متغیرها فقط درون براکت‌های حلقه‌ی فور قابل دستیابی هستند.

مثال:

 

منبع

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

2 دیدگاه در “حوزه‌ی دید متغیرها در آردوینو

  1. Avatar for Ali Ali گفت:

    سلام ببخشید آیا تعریف متغیر های لوکال حجم کمتری از برنامه رو مصرف میکنه؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      نه لذوما ولی بی تاثیر هم نیست
      تفاوت متغییر لوکال با گلوبال (محلی یا سراسری) تنها در محل گرفتن حافظه است
      به این معنی که متغییر های لوکال حافظه مورد نیاز را از قسمت استک برنامه بر میدارند و پس از تمام شدن روتین تابع حافظه اشعال شده آزاد می شود.
      در صورتی که متغیر های گلوبال حافظه مورد نیاز را از حافظه کلی برنامه برداشت می کنند و تا مادامی که برنامه در حال اجرا است ، حافظه را آزاد نمی کنند.

دیدگاهتان را بنویسید

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