【发布时间】:2018-03-05 19:02:47
【问题描述】:
我想将多个值作为逗号分隔列表传递给函数,并将该列表接受到数组变量中。类似的东西(虽然它不可编译):
#include <stdio.h>
void passValueAsList (int arr [],int len) {
int i;
for (i=0;i <len;i++)
printf ("%d, ",arr [i]);
}
int main () {
passValueAsList ({1,2,43,5,4,21},6);
return 0;
}
我不想在传递之前将列表存储到数组中,而我只想将数组传递到位。
谢谢。
【问题讨论】:
-
当您从编译器收到错误并想询问该问题时,请将编译器的错误复制并粘贴到您的问题中。
-
编译器足够聪明,可以避免在不需要时将某些内容存储在内存中。例如,
{ int j=3; f(j); }将执行与f(3);相同的操作,而无需先在某处存储 3。 -
“由于存储可能会占用内存中的一些空间......”是的,它会(或寄存器)。您是否正在处理资源严重受限的目标?如果使用几十个字节是一个主要问题,那么可能是时候升级您的硬件了。
标签: arrays c parameter-passing