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

memcpy() in C

Purpose Of memcpy()

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

How memcpy() Works

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

memcpy() in c

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

Syntax Of ()memcpy

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

C Program - memcpy()

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

c-using-memcpy.c
#include <stdio.h>
#include<string.h>
int main()
{
int src[5] = {0, 1, 2, 3, 4};
int des[5], i;
memcpy(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 copied the memory location of an array src to the memory location of an array des using memcpy() inbuilt string function.

C Program - Without memcpy()

c-without-memcpy.c
#include <stdio.h>
#include<string.h>
int main()
{
char *src="2braces.com";
char des[15], 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