为什么C和C ++支持在结构中成员分配数组,但一般不支持?
我理解不支持成员分配数组,因此以下方法不起作用:
int num1[3] = {1,2,3};
int num2[3];
num2 = num1; // "error: invalid array assignment"
我只是接受了这个事实,认为该语言的目的是提供一个开放式框架,并让用户决定如何实现诸如复制数组之类的东西。
但是,以下工作正常:
struct myStruct { int num[3]; };
struct myStruct struct1 = {{1,2,3}};
struct myStruct struct2;
struct2 = struct1;
该数组num[3]是从其实例中成员分配struct1到其实例中的struct2。
为什么结构支持成员方式的数组,但一般情况下不支持?
慕的地10843