Передача массива в функцию и использование sizeof в Arduino
Я Arduino падаван ученик. Я хочу передать массив байтов функции и получить размер массива.
byte data[] = {
B00000000,
B00000001,
B00000011,
B00000111
};
Serial.println(sizeof(data)); // ----------------------> displays 4
Когда я передаю его функции sizeof возвращает 2. Как я могу заставить его вернуть 4 также в функции?
writeData(data);
void writeData(byte data[]) {
Serial.println(sizeof(data)); // -------------------> displays 2
}
1 ответ:
Например, при передаче массивов в качестве параметров компилятор больше не имеет размера массива. Вместо этого массив передается как указатель, и в
writeDataоперацияsizeofполучает размер указателя, а не массива (или чего-то еще), на который он указывает.
Comments