在C中之前创建的数组的初始化

在C中之前创建的数组的初始化,c,arrays,initialization,C,Arrays,Initialization,但是, 为什么? 是否有其他方法可以一次性初始化以前创建的阵列。我自己没有测试过,但由于C99,您应该能够使用with将数据复制到阵列中: int a[5]; a = {2,4,6,8,10}; //Doesn't Work 这回答了你的问题吗?第一个是初始化,而不是赋值。第二个尝试将初始值设定项分配给数组(作为可执行的分配),这在C中不受支持。 int a[5]; a = {2,4,6,8,10}; //Doesn't Work memcpy(a, (int[5]){2,4,6,8,10}

但是,

为什么?


是否有其他方法可以一次性初始化以前创建的阵列。

我自己没有测试过,但由于C99,您应该能够使用with将数据复制到阵列中:

int a[5];
a = {2,4,6,8,10}; //Doesn't Work

这回答了你的问题吗?第一个是初始化,而不是赋值。第二个尝试将初始值设定项分配给数组(作为可执行的分配),这在C中不受支持。
int a[5];
a = {2,4,6,8,10}; //Doesn't Work
memcpy(a, (int[5]){2,4,6,8,10}, sizeof a);