sizeof()

Описание

Оператор

sizeof

возвращает количество байт в типе переменной или количество байт, занимаемых массивом.

Синтаксис

sizeof(variable)

Параметры

variable: то, размер чего нужно получить. Допустимые типы данных: любой тип переменной или массив (например, int, float, byte).

Возвращаемое значение

Количество байт в переменной или байтов, занятых в массиве. Тип данных:

size_t

.

Пример кода

Оператор

sizeof

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

Эта программа выводит текстовую строку посимвольно. Попробуйте изменить текстовую фразу.

char myStr[] = "this is a test";

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

void loop() {
  for (byte i = 0; i < sizeof(myStr) - 1; i++) {
    Serial.print(i, DEC);
    Serial.print(" = ");
    Serial.write(myStr[i]);
    Serial.println();
  }
  delay(5000);  // замедляем программу
}

Примечания и предупреждения

Обратите внимание, что

sizeof

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

int myValues[] = {123, 456, 789};

// этот цикл for корректно работает с массивом любого типа или размера
for (byte i = 0; i < (sizeof(myValues) / sizeof(myValues[0])); i++) {
  // что-то делаем с myValues[i]
}

Примечание

Правильно сформированная строка заканчивается символом NULL, имеющим ASCII-значение 0.

Смотрите также