According to C11 N1570 standard draft:
7.24.2.2 "The memmove function":
The
memmovefunction copiesncharacters from the object pointed to bys2into the object pointed to bys1. Copying takes place as if thencharacters from the object pointed to bys2are first copied into a temporary array ofncharacters that does not overlap the objects pointed to bys1ands2, and then thencharacters from the temporary array are copied into the object pointed to bys1
So if I choose to move a buffer of size 32K using (file_size = 32K)
memmove(io_Buffer, io_Buffer+17, file_size);
won't the temp buffer be of size 32K?
Question
Can the program allocate dynamic memory on its own? Does it allocate and free the memory in that one line?
I think you missed the "as if" in that sentence. That means the effects will be the same as if it did that, not that it will actually do that. I've never seen an implementation of memmove that actually uses a temporary array.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With