Is memcpy(&a + 1, &b + 1, 0) defined in C11?
C11 says: (C11, 7.24.2.1p2) “The memcpy function copies n characters from the object pointed to by s2 into the object pointed to by s1.” &a + 1 itself is a valid pointer to integer addition but &a + 1 is not a pointer to an object, so the call invokes undefined behavior.