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;
}