> The lifetime of an allocated object extends from the allocation until the deallocation. Each such allocation shall yield a pointer to an object disjoint from any other object.
A static array is "an object" already. A pointer to the middle of it is not a new object.
Even things like “printf” can’t be implemented purely in standard C. Even making a syscall is outside of the scope of the C standard.