- Библиотеки
- Операторы
- Sketch
- Управляющие операторы
- Синтаксис
- Арифметические операторы
- Операторы сравнения
- Логические операторы
- Указатели доступа
- Битовые операторы
- Составные операторы
- Данные
- Типы данных
- Преобразование типов данных
- Область видимости переменных и квалификаторы
- Утилиты
- sizeof()
- Функции
- Цифровой ввод/вывод
- Аналоговый вход/выход
- Расширенный ввод/вывод
- Время
- Математические функции
- Тригонометрические функции
- Символы
- Случайные числа
- Биты и байты
- Внешние Прерывания
- Прерывания
- Функции передачи данных
- Функции
sizeof()
Описание
Оператор sizeof возвращает количество байтов в типе переменной или количество байтов, занятых массивом.
Синтаксис
sizeof(variable)
Параметры
variable: Получить размер. Разрешенные типы данных: любой тип переменной или массив (например, int, float, byte).
Возвращает Количество байтов в переменной или байтов, занятых в массиве. Тип данных: size_t.
Примеры
Оператор sizeof полезен для работы с массивами (такими как строки), где удобно иметь возможность изменять размер массива, не нарушая другие части программы.
Эта программа выводит текстовую строку по одному символу за раз. Попробуйте изменить текстовую фразу.
char myStr[] = "Это тест";
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); // пауза 5 секунд
}
Примечания и предупреждения
Обратите внимание, что sizeof возвращает общее количество байтов. Таким образом, для массивов больших типов переменных, таких как int, цикл for будет выглядеть примерно так.
int myValues[] = {123, 456, 789};
// это цикл for работает правильно с массивом любого типа или размера
for (byte i = 0; i < (sizeof(myValues) / sizeof(myValues[0])); i++) {
// do something with myValues[i]
}
Обратите внимание, что правильно отформатированная строка заканчивается символом NULL, значение ASCII которого равно 0.