如何使用sizeof将数组的大小作为另一个参数传递

时间:2018-07-23 13:44:39

标签: c arrays pointers

我具有以下功能:

addToTxBuffer((uint8_t []){0x01,0x11}, 2, zeroPad);

第二个参数2是第一个参数的size。我想使用sizeof而不是2。有没有语法使之成为可能?即:

addToTxBuffer((uint8_t header[]){0x01,0x11}, sizeof(header), zeroPad);

但这不起作用。

1 个答案:

答案 0 :(得分:6)

复合文字未命名,因此您不能以这种方式引用它们。您需要单独定义数组,然后可以获取其大小:

uint8_t header[] = {0x01,0x11};
addToTxBuffer(header, sizeof(header), zeroPad);