C 将数组传递给函数并在Arduino中使用sizeof
我是一名Arduino学习者。我想把一个字节数组传递给一个函数,并得到数组的大小C 将数组传递给函数并在Arduino中使用sizeof,c,arduino,C,Arduino,我是一名Arduino学习者。我想把一个字节数组传递给一个函数,并得到数组的大小 byte data[] = { B00000000, B00000001, B00000011, B00000111 }; Serial.println(sizeof(data)); // ----------------------> displays 4 当我将它传递给函数sizeof时,返回2。如何让它在函数中也返回4 writeData(data); void w
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
}
例如,当将数组作为参数传递时,编译器不再具有数组的大小。相反,数组作为指针传递,在
writeData
中,sizeof
操作获取指针的大小,而不是它所指向的数组(或其他任何数组)。以上是。此外,规范的解决方案是传递指针和大小。无效写入数据(常量字节*数据,大小);好的,谢谢@乔什·佩蒂特使用了这个解决方案,现在它可以正常工作了。我经常在这个问题上挂断电话。感谢您的澄清+1