在不定义变量的情况下将数组作为函数参数传递

Passing an array as function argument without defining a variable

我们如何将数组直接传递给 C 中的函数?

例如:

#include <stdio.h>

void function(int arr[]) {};

int main(void) {
    int nums[] = {3, -11, 0, 122};
    function(nums);
    return 0;
}

除了这个,我们能不能写成类似function({3, -11, 0, 122});的东西?

您可以将数组作为复合文字传递,如下所示。

function((int []){3, -11, 0, 122});

您可以使用 compound literal。像

function((int []){3, -11, 0, 122});