פירוט שפת תכנות - מרחב הגדרת משתנים

פורום זה מכיל תרגום לעברית של מדריכים, דוגמאות קוד, פירוט שפת תכנות לכרטיסי Arduino וחומרים לימודיים אחרים מהאתר arduino.cc

פירוט שפת תכנות - מרחב הגדרת משתנים

הודעהעל ידי Alex » ב' יולי 17, 2017 2:07 pm

למשתנים בשפת תכנות C, בה נעשה שימוש בתכנות כרטיסי Arduino, יש מאפיין המרחב בו הם יהיו נגישים. בשונה מגרסאות מוקדמות של שפות התכנות, כמו BASIC למשל, בהם כל המשתנים היו גלובליים (global).

משתנה גלובלי (global) הוא משתנה שאפשר לגשת אליו מכל פונקציה בתוכנית. משתנה מקומי (local) הוא משתנה שנגיש רק מתוך הפונקציה בה הוא מוגדר. בסביבת Arduino כל משתנה שמוגדר מחוץ לפונקציות (כמו ()setup או ()loop וכו') הם משתנים גלובליים (global).

כשהתוכנית שאתם כותבים גדלה והופכת להיות מסובכת יותר, שימוש במשתנים מקומיים (local) עדיף כדי להבטיח שרק לפונקציה אחת יש גישה למשתנים של עצמה. זה יכול למנוע טעויות תכנות כאשר פונקציה אחת משנה בטעות את המשתנים של פונקציה אחרת.

לפעמים זה גם שימושי להכריז ולאתחל משתנה בתוך לולאת for. כך נוצר משתנה שנגיש רק מתוך הקוד הנמצא בסוגריים מסולסלים של הלולאה.

דוגמה
קוד: בחר הכל
int gPWMval;  // any function will see this variable

void setup()
{
  // ...
}

void loop()
{
  int i;    // "i" is only "visible" inside of "loop"
  float f;  // "f" is only "visible" inside of "loop"
  // ...

  for (int j = 0; j <100; j++){
  // variable j can only be accessed inside the for-loop brackets
  }

}



ראו גם:
פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של Variable Scope לפי רישיון Creative Commons Attribution-ShareAlike 3.0.
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
סמל אישי של המשתמש
Alex
מנהל האתר
 
הודעות: 7459
הצטרף: ה' ינואר 28, 2010 8:27 pm

חזור אל תרגום מדריכים מהאתר arduino.cc

Jump box

מי מחובר

משתמשים הגולשים בפורום זה: CCBot [Bot], Yahoo [Bot]