是否可以通过函数调用的参数来定义数组?

问题描述 投票:0回答:2

我有一个需要变量和指针的函数。

void sendCMD(byte cmd, byte data[]){
    ...
}

无论如何都可以用数据调用此函数

sendCMD(0xff, { 0x0a, 0x02 });

甚至通​​过谷歌搜索,我也没找到任何东西……也许我看上去还不够努力,但我也不确定我应该寻找什么用语。任何帮助,感激不尽!请注意,bytechar相同!

c function arguments parameter-passing definition
2个回答
6
投票

您可以使用compound array literal

sendCMD(0xff, (byte[]){ 0x0a, 0x02 });

-1
投票

通过二维数组,我感到困惑。您只需要一个复合文字:

sendCMD(0xff, (byte[]){...});

如果您只是用大括号括住了数据,编译器将不知道应该从中得到什么。您需要为其加上所需类型的前缀,以便编译器知道它是字节数组,而不是int数组或某些结构。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.