Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将数组传递给函数并在Arduino中使用sizeof_C_Arduino - Fatal编程技术网

C 将数组传递给函数并在Arduino中使用sizeof

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

我是一名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
}

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

以上是。此外,规范的解决方案是传递指针和大小。无效写入数据(常量字节*数据,大小);好的,谢谢@乔什·佩蒂特使用了这个解决方案,现在它可以正常工作了。我经常在这个问题上挂断电话。感谢您的澄清+1