我具有以下功能:
addToTxBuffer((uint8_t []){0x01,0x11}, 2, zeroPad);
第二个参数2
是第一个参数的size
。我想使用sizeof
而不是2
。有没有语法使之成为可能?即:
addToTxBuffer((uint8_t header[]){0x01,0x11}, sizeof(header), zeroPad);
但这不起作用。
答案 0 :(得分:6)
复合文字未命名,因此您不能以这种方式引用它们。您需要单独定义数组,然后可以获取其大小:
uint8_t header[] = {0x01,0x11};
addToTxBuffer(header, sizeof(header), zeroPad);