6

我是 Arduino padawan学习者。我想将一个字节数组传递给一个函数并获取数组的大小。

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

1 回答 1

14

例如,当将数组作为参数传递时,编译器不再具有数组的大小。相反,数组作为指针传递,并且在writeData操作中sizeof获取指针的大小,而不是它指向的数组(或其他)。

于 2012-08-18T16:52:56.657 回答