Sizeof

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

sizeof

Описание

Оператор sizeof возвращает размер памяти в байтах для переменных указанного типа или массива.

Синтаксис

sizeof(variable)

Параметры

variable: любой тип переменных или массив (например: int, float, byte)

Пример

Оператор 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[i]);
    Serial.println();
  }
  delay(5000); // замедление выполнения программы
}

Учтите, что sizeof возвращает общий размер в байтах. Поэтому для типов большей длины, например int, цикл for может выглядеть так:

for (i = 0; i < (sizeof(myInts)/sizeof(int)) - 1; i++) {
  // do something with myInts[i]
}

Также имейте ввиду, что корректная строка заканчивается нулевым символом (NULL или ASCII-код 0).

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.