我有以下功能:
addToTxBuffer((uint8_t []){0x01,0x11}, 2, zeroPad);
第二个参数2
是第一个参数的大小
。我想使用 sizeof
而不是 2
。有什么语法可以让它成为可能吗?即:
addToTxBuffer((uint8_t header[]){0x01,0x11}, sizeof(header), zeroPad);
虽然这不起作用。
最佳答案
复合文字是未命名的,因此您不能以那种方式引用它们。你需要单独定义数组,然后你可以得到它的大小:
uint8_t header[] = {0x01,0x11};
addToTxBuffer(header, sizeof(header), zeroPad);
关于c - 如何使用 sizeof 将数组的大小作为另一个参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51480330/