在C中有没有先声明再初始化数组的方法?
到目前为止,我一直在像这样初始化一个数组:
int myArray[SIZE] = {1,2,3,4....};
但是我需要做这样的事情
int myArray[SIZE];
myArray = {1,2,3,4....};
最佳答案
在 C99 中,您可以将复合文字与 memcpy
memcpy(myarray, (int[]) { 1, 2, 3, 4 }, sizeof myarray);
(假设源的大小和目标的大小相同)。
在 C89/90 中,您可以通过声明一个额外的“源”数组来模拟它
const int SOURCE[SIZE] = { 1, 2, 3, 4 }; /* maybe `static`? */
int myArray[SIZE];
...
memcpy(myarray, SOURCE, sizeof myarray);
关于c - 在 C 中声明和初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137671/