The ones who are crazy enough to think they can change the world are the ones who do.
- Steve Jobs

memmove() In C

Purpose Of memmove()

memmove() is one of the inbuilt string function in c programming which is used to copy n character from memory location src to memory location des

memmove() facts

memmove() is very much similar to memcpy(), both are capable of ovelapping characters, in some cases memcpy() fails to overlap, thus memmove() is a safer one in overlapping the characters of a string.

How memmove() Works

The following diagram clearly illustrate the working principle of memmove() inbuilt string function in C.

memmove() in c

In the above diagram memmove() takes three parameter. First two parameters are string whereas third parameter is an integer, third parameter tells the compiler how much characters should be overlapped from src should be copied to des.

Syntax Of memmove()

  • memmove() accepts three parameters.
  • First two parameters are string whereas third parameter is an integer.
  • To use memmove() inbuilt string function in C, we need to declare #include<string.h> header file.
Syntax
memmove(src, des, size);

C Program - memmove()

Let us work through memmove() function, In the following program we will overlap n characters from memory location src to memory location des.

c-using-memmove.c
#include <stdio.h>
#include<string.h>
int main()
{
int src[5] = {0, 1, 2, 3, 4};
int des[5] = {5, 6, 7, 8, 9}, i;
memmove( des, src, 5*sizeof(int));
for(i=0; i<5; i++)
printf("des[%d] = %d\n", i, des[i]);
return 0;
}
des[0] = 0
des[1] = 1
des[2] = 2
des[3] = 3 
des[4] = 4

Note:

In the above program we overlapped.

C Program - Without memmove()

c-without-memmove.c
#include <stdio.h>
#include<string.h>
int main()
{
char *src="2braces.com";
char des[15] ="overwrite-it";
char len = 11, i;
for(i=0; i<len;i++)
des[i] = src[i];
printf("%0.11s",des);
return 0;
}
2braces.com

Note:

The above program looks verbose but yields the same result.

Report Us

We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.

Report