gpt4 book ai didi

C: 将数组传递给函数 'on the fly'

转载 作者:太空狗 更新时间:2023-10-29 14:49:25 27 4
gpt4 key购买 nike

我有一个函数,我想将一个 char* 数组传递给它,但我不想为此创建一个变量,如下所示:

char *bar[]={"aa","bb","cc"};
foobar=foo(bar);

为了解决这个问题,我尝试了这个:

foobar=foo({"aa","bb","cc"});

但它不起作用。我也试过这个:

foobar=foo("aa\0bb\0cc");

它编译时带有警告,如果我执行该程序,它会卡住。
我也试过玩星号和符号,但无法正常工作。

有可能吗?如果是,怎么办?

最佳答案

是的,您可以使用复合文字。请注意,您需要为函数提供一些方法来了解数组的长度。一种是在末尾有一个 NULL。

foo((char *[]){"aa","bb","cc",NULL});

此功能是在 C99 中添加的。

关于C: 将数组传递给函数 'on the fly',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3744117/

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