sizeof() / Arduino
Описание
Оператор sizeof
возвращает количество байтов в типе переменной или количество байтов, занимаемое массивом.
Синтаксис
sizeof(variable)
Параметры
variable
: любой тип переменных или массив (например, int
, float
, byte
).
Возвращает
Количество байтов в переменной или байтов, занимаемых массивом (size_t
).
Пример кода
Оператор 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
будет выглядеть примерно так. Также обратите внимание, что правильно отформатированная строка заканчивается символом NULL
, который имеет ASCII значение 0.
for (i = 0; i < (sizeof(myInts)/sizeof(int)); i++)
{
// сделать что-то с myInts[i]
}