آردوینو arduino, آموزش, رفرنس

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

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

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

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

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

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

مثال:

 

منبع

نوشته های مشابه

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

  1. Ali گفت:

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

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

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

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

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