有没有办法在 C 中的函数参数内定义数组?像这样的东西:
void arraysomething(double vec[2]){
//do something...
}
int main(){
arraysomething({1.,2.});
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我到处寻找,却一无所获。
您正在寻找的称为复合文字:
arraysomething((double []){1.,2.});
Run Code Online (Sandbox Code Playgroud)
该语法看起来像数组或结构的初始值设定项,前面是对相关类型的强制转换。
因为要传入数组,所以给出的类型名应该是double [],这意味着一个未指定大小的数组。不需要实际大小,因为它是根据文字中的元素数量推断出来的。