tom*_*tom 13 c arrays heap initialization
在C中,我知道我可以制作这样的数组
int myarray[5] = {a,b,c,d,e};
Run Code Online (Sandbox Code Playgroud)
但是,想象一下这个数组已经初始化了
int myarray[5];
Run Code Online (Sandbox Code Playgroud)
然后在某个时刻,我想设置/更改所有值而不去
myarray[0] = a;
myarray[1] = b;
myarray[2] = c;
myarray[3] = d;
myarray[4] = e;
Run Code Online (Sandbox Code Playgroud)
而是更喜欢的东西
myarray = {a,b,c,d,e};
Run Code Online (Sandbox Code Playgroud)
我问这个的原因是因为如果我在堆上声明我的数组,我将初始化数组,如:
int* myarray = malloc(5*sizeof(int));
Run Code Online (Sandbox Code Playgroud)
然后我希望能够在一行中输入所有值(主要是为了让我的代码看起来更干净)
R..*_*R.. 11
memcpy(myarray, (int [5]){a,b,c,d,e}, 5*sizeof(int));
Run Code Online (Sandbox Code Playgroud)