为什么我不能将数组赋值为&a =&b?
我有一个问题,分配一个数组:
int a[]; int b[] = {1,2,3}; &a = &b;
我知道我可以使用指针,但我想尝试这种方式…
你不能用C分配数组。你可以用<string.h>
声明的memcpy()
函数复制它们。
int a[3]; int b[] = {1,2,3}; memcpy(&a, &b, sizeof a);
正如你所发现的那样,这种方式是行不通的。 您不能在C中分配数组
然而,结构是可分配的。 所以你可以这样做:
typedef struct { int x[3]; } T; T a; T b = { { 1, 2, 3 } }; a = b;