【发布时间】:2021-04-16 04:18:02
【问题描述】:
我们如何将数组直接传递给 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});这样的东西吗?
【问题讨论】:
-
一种选择是将数组包装在结构中:
struct foo { int arr[10]; }; struct foo wrapped = {{3, -11, 0, 122}}; fx(wrapped); -
@pmg 但仍然使用中间变量
-
啊!没有足够注意阅读问题标题;无论如何在这里留下评论:-)
-
@pmg 先生,这不是您的错,我根据对问题的理解扩展了标题。最初的版本没有提到这一点。道歉。
-
“我们可以写一些类似的东西吗” - 你尝试的时候发生了什么?
标签: arrays c parameter-passing function-call