What do the backslashes after each string do? My guess is that they allow us to break down a long string so that it can be written over multiple lines.
I believe { "a" "b" "c" } returns the pointer to an array and that pointer is stored in identifier. Why does char *identifier = { "a", "b", "c" } or even int *int_array = { 1, 2, 3 } not work then when int int_array[] = { 1, 2, 3 } is fine?
I think the missing piece is not what the backslash is for, but rather how in C and C++ string literals can be concatenated. The two lines below are identical from the compiler's perspective: