From Kerrek SB's comment on Why can't a modifiable lvalue have an array type?
You can trivially assign arrays by making them members of a struct and then assigning those lvalues.
What does it mean? Does it mean that if a structure has an array member, then the array member can be modifiable? But the following example doesn't work:
I define a struct type with a member being an array
typedef struct { int arr[3];} MyType;
Then
MyType myStruct;
myStruct.arr = (int[]) {3,2,1};
and got error: assignment to expression with array type.