Описание
Оператор 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++) {
// какие-либо операции с myInts[i]
}
Также имейте ввиду, что корректная строка заканчивается нулевым символом (NULL или ASCII-код 0).
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/Sizeof |