Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 向数组中添加多个值_C_Arrays - Fatal编程技术网

C 向数组中添加多个值

C 向数组中添加多个值,c,arrays,C,Arrays,我需要一个数组来保存函数fn1中定义的4个值,因此我创建了一个数组:intsomearray[4];在main()中。虽然我知道值可以通过数字单独输入到数组中:somearray[1]=3,我的数字在变量中n1、n2、n3、n4 有没有办法做到这一点 我考虑过在函数中创建一个数组,然后将单个值转移到somearray[]中的可能性 我显然是C语言的新手,我也想到了返回数组。我很确定这是不对的,但无论如何,得到一些确认会有所帮助 提前谢谢 致Makoto: main(){ int sumarray

我需要一个数组来保存函数
fn1
中定义的4个值,因此我创建了一个数组:
intsomearray[4]
;在main()中。虽然我知道值可以通过数字单独输入到数组中:
somearray[1]=3,我的数字在变量中
n1、n2、n3、n4

有没有办法做到这一点

我考虑过在函数中创建一个数组,然后将单个值转移到
somearray[]
中的可能性

我显然是C语言的新手,我也想到了返回数组。我很确定这是不对的,但无论如何,得到一些确认会有所帮助

提前谢谢

致Makoto:

main(){
int sumarray[4];
int n1,n2,n3,n4;

int fn1(){
n1=1;
n2=23;
n3=29;
n4=14;

sumarray[]={n1,n2,n3,n4}

return 0;
}

return 0;
}

嗯。。至少这正是我想做的

你可以这样做:

char somearray[] = {n1, n2, n3, n4};
如果编写辅助函数,在堆栈上分配数组(即,将数组放入局部变量),则无法返回它。这是因为它在堆栈上,将来基本上会被覆盖。例如,你不会说:

而是使用
malloc
,它在堆上分配内存。相比之下,你可以说


好的,错误是试图在函数内定义数组,而我本可以在fn1运行后在函数外定义数组。谢谢各位。

你们能展示一下你们的代码吗?你的意图有点不清楚。
int *f() { 
    unsigned a[] = {n1, n2, n3, n4};
}
int *f() {
    unsigned *a = malloc(sizeof(int)*4);
    ...
    return a;
}