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.

Leave a Comment