我有这个功能,我多次打电话:
void shifter(int [])
{
//...
}
我想用一个我即时分配的数组来调用它,例如:
shifter({1,2,3,0});
我知道上面的例子不起作用。是否有一种语法可以正常工作,所以每次调用函数时都不必显式声明数组?
这是C,而不是C ++。
答案 0 :(得分:3)
答案 1 :(得分:0)
当您将数组传递给C中的函数时,您传递的是第一个元素的地址,而不是数组本身的内容。所以我认为没有办法做到这一点。
如果真的只有4个参数,你可以使用4 int,这样做不会太长。如果不止于此,为什么不使用aray?
答案 2 :(得分:0)
如果您可以考虑使用C ++,请使用以下命令:
shifter(new int[](1,2,3,0));