sizeof()

Описание

Оператор 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), цикл будет выглядеть примерно так. Кроме того, не забывайте, что правильно объявленная строка заканчивается нулевым символом с ASCII-кодом 0.

for (i = 0; i < (sizeof(myInts)/sizeof(int)) - 1; i++)
{
  // какие-либо операции с myInts[i]
}

Расскажи о нас

Сообщение

Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.