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

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

متغیرها در زبان C که آردوینو از آن استفاده می‌کند، ویژگی‌‌ای به نام حوزه دید (scope) دارند. اولین نسخه‌های زبان‌ها مثل BASIC، این ویژگی را نداشتند و همه‌ی متغیرها  global بودند. متغیرهای global (سراسری)، در همه‌ی توابع قابل‌مشاهده و معتبر هستند. در آردوینو هر متغیری که خارج از یک تابع (مانند ()setup()، loop و …) تعریف شود، یک متغیر global خواهد بود. متغیرهای local (محلی) تنها در تابعی که تعریف شده‌اند قابل‌مشاهده هستند. وقتی‌که برنامه شروع به گسترش و به‌تبع آن پیچیدگی می‌کند، متغیرهای local راه خوبی برای کسب این اطمینان هستند که تنها یک تابع به متغیرهای خودش دسترسی دارد. اگر یک تابع به‌صورت غیرعمدی متغیرهای یک تابع دیگر را تغییر دهد، خطا (ارور) رخ می‌دهد. اما استفاده از این نوع متغیر از این خطاهای برنامه‌نویسی جلوگیری خواهد کرد. هم‌چنین تعریف و مقداردهی اولیه متغیر درون حلقه‌‌ی فور گاهی اوقات مفید است. این نوع متغیرها فقط درون براکت‌های حلقه‌ی فور قابل دستیابی هستند.

مثال:

 

int gPWMval;
// همه‌ی توابع این متغیر را خواهند دید. ( این متغیر در همه‌ی توابع معتبر است.)

void setup()
{
// ...
}

void loop()
{
int i;
// متغیر آی فقط در درون تابع لوپ قابل مشاهده (معتبر) است.
float f;
// متغیر اف فقط در درون تابع لوپ قابل مشاهده (معتبر) است.
// ...

for (int j = 0; j <100; j++){
// متغیر جی فقط درون براکت‌های حلقه‌ی فور قابل دستیابی است.
}

}

 

منبع

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

نویسنده و طراح الکترونیکا هستم . سوالی داشتید در کامنت ها یا پیج های اینستاگرام و تلگرام سایت بپرسید .