内存管理函数:memcpy() memmove() memchr() memcmp() memset() strncpy()
void* memcpy(void* destination, const void* source, size_t num);
****The function does not check for any terminating null character in source - it always copies exactly num bytes.

/* memcpy example */
#include <stdio.h>
#include <string.h>

int main()
{
 char str1[] = "sample string";
 char str2[40];
 char str3[40];
 memcpy(str2, str1, strlen(str1) + 1);
 memcpy(str3, "copy successful", 16);
 printf("str1: %s\nstr2: %s\nstr3: %s\n", str1, str2, str3);
 return 0;
}

/* memmove() funtion */
Moves one buffer to another. Secure version are available, memmove_s(), wmemmove_s()
void* memmove(
 void* dest,
 const void* str,
 size_t count);
/* memchr() function */
Finds characters in a buffer.
void* memchr(
 const void* buf,
 int c,
 size_t count 
); // C only
void* memchr(
 void* buf,
 int c,
 size_t count
); // C++ only

/* memcmp() function */
Compare characters in two buffers.
int memcmp(
 const void* buf1,
 const void* buf2,
 size_t count
);

/* memset */
Sets buffers to a specified character.
void* memset(
 void* dest,
 int c,
 size_t
);

/* strncpy() function */
Copy characters of one string to another.
char* strncpy(
 char* strDest,
 const char* strSource,
 size_t count
);