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] }