我在分配数组时遇到问题:
int a[];
int b[] = {1,2,3};
&a = &b;
我知道我可以使用指针,但我想以这种方式尝试......
答案 0 :(得分:15)
您无法在C中分配数组。您可以使用memcpy()
中声明的<string.h>
函数复制它们:
int a[3];
int b[] = {1,2,3};
memcpy(&a, &b, sizeof a);
答案 1 :(得分:14)
正如您所发现的那样,这种方法不起作用。您无法在C中分配数组。
然而,结构是可分配的。所以你可以这样做:
typedef struct
{
int x[3];
} T;
T a;
T b = { { 1, 2, 3 } };
a = b;