Given that this is legal
uint8_t bytes[4] = { 1, 2, 3, 4 };
And this is not:
uint8_t bytes2[4];
bytes2 = { 1, 2, 3, 4 };
what does { 1, 2, 3, 4 } represent?
Am assuming it's neither an rvalue or an lvalue. A preprocessor code candy that expands to something?