sizeof() / Arduino

Добавлено 12 ноября 2018 в 18:40

Описание

Оператор 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]
}

 

Теги

ArduinoПрограммирование

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.