One can assign a struct to another, which results in copying all the values from struct to another:
struct
{
int a, b, c;
} a, b;
...
a = b;
But why are arrays not assignable like that:
int a[3], b[3];
...
a = b;
Because, strictly speaking, are structs just arrays with variable sized elements, so why is that not allowed? This kind of assignment is unused anyway. Sure, it may seem like only the addresses are involved, but one can easily copy arrays that way ("statically").