gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 15:13:21 24 4
gpt4 key购买 nike

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

最佳答案

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

关于c - 将数组传递给函数并在 Arduino 中使用 sizeof,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12020344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com