Arduino:Справочник языка Arduino/sizeof()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Перевел 364226 статей для сайта.</br>Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция sizeof[1]

Эта функция возвращает количество байтов в переменной или массиве.

Синтаксис

sizeof(переменная)

Параметры

переменная  переменная любого типа или массив (например, int, float, byte)

Пример

Функция sizeof удобна в работе с массивами (вроде строк) — с ее помощью удобно менять размер массива, при этом не вредя другим частям программы.

Ниже — программа-образец, которая по очереди выводит символы, имеющиеся в строке. Вместо «this is a test» можно поставить любую другую фразу.

 1 Char myStr[] = "this is a test";
 2 int i;
 3 
 4 void setup(){
 5   Serial.begin(9600);
 6 }
 7 
 8 void loop() { 
 9   for (i = 0; i < sizeof(myStr)  1; i++){
10     Serial.print(i, DEC);
11     Serial.print(" = ");
12     Serial.write(myStr[i]);
13     Serial.println();
14   }
15   delay(5000); // замедление программы
16 }

Обратите внимание, что sizeof возвращает суммарное число байтов. Поэтому для переменных, которые могут содержать большое количество байтов, цикл for будет выглядеть примерно так, как показано ниже. Также имейте в виду, что правильным образом отформатированная строка должна заканчиваться символом NULL, которому в ASCII-таблице соответствует значение «0».

for (i = 0; i < (sizeof(myInts)/sizeof(int)) - 1; i++) {
  // делаем что-либо с myInts[i]
}

См.также

Внешние ссылки