6

私はArduinoのパダワン学習者です。バイト配列を関数に渡し、配列のサイズを取得したいと思います。

byte data[] = {
    B00000000,
    B00000001,
    B00000011,
    B00000111
};

Serial.println(sizeof(data)); // ----------------------> displays 4

関数に渡すとsizeof2が返されます。関数でも4を返すようにするにはどうすればよいですか?

writeData(data);

void writeData(byte data[]) {
    Serial.println(sizeof(data)); // -------------------> displays 2
}
4

1 に答える 1

14

たとえば、配列をパラメータとして渡す場合、コンパイラには配列のサイズがなくなります。代わりに、配列はポインターとして渡されwriteDatasizeof操作では、ポインターが指す配列(またはその他)ではなく、ポインターのサイズを取得します。

于 2012-08-18T16:52:56.657 に答える