facebook pixel מדריך: פירוט שפת תכנות - כלי עזר - ()sizeof - www.4project.co.il
Main logo www.4project.co.il
כל הרכיבים לפרוייקט שלכם
עגלת קניות

העגלה ריקה

לקוחות נכבדים, אלה שעות הפעילות של המחסן במהלך פסח 2024:
ערב חג וחג ראשון (22-23/04) - המחסן סגור
חול המועד (24-25/04) - המחסן יפעל בין 8:00 עד 15:00
ערב חג וחג שני (28-29/04) - המחסן סגור
נחזור לפעילות רגילה ביום שלישי 30/04
חג שמח!

פירוט שפת תכנות - כלי עזר - ()sizeof


2022-06-14 10:46:57
פקודת ()sizeof מחזירה את מספר הבתים (bytes) שסוג משתנה תופס, או מספר הבתים שתפוסים לטובת מערך (array).

תחביר

קוד: בחר הכל
sizeof(variable)

פרמטרים בתחביר:
variable - סוג משתנה או מערך (לדוגמה int, byte, float)

דוגמה

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

תוכנית הבאה מדפיסה את מחרוזת הטקסט תו אחר תו. נסו לשנות את הטקסט במחרוזת ותראו שהתוכנית עדיין עובדת בצורה תקינה.
קוד: בחר הכל
char myStr[] = "this is a test";
int i;

void setup(){
  Serial.begin(9600);
}

void loop() {
  for (i = 0; i < sizeof(myStr) - 1; i++){
    Serial.print(i, DEC);
    Serial.print(" = ");
    Serial.write(myStr);
    Serial.println();
  }
  delay(5000); // slow down the program
}


שימו לב שפקודת ()sizeof מחזירה את כמות הכוללת של בתים במערך, כך שבמקרים בהם המערך מורכב מנתונים שגודלם גדול מבית אחד, כמו למשל int, לולאת for תראה בצורה דומה לדוגמה הבאה. שימו לב גם שמחרוזת טקסט תקינה בשפת C/C++ תמיד מסתיימת בתו NULL שהערך שלו לפי טבלת ASCII הוא 0.
קוד: בחר הכל
for (i = 0; i < (sizeof(myInts)/sizeof(int)); i++) {
  // do something with myInts
}


ראו גם:

פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של Sizeof לפי רישיון Creative Commons Attribution-ShareAlike 3.0.