1, 模拟实现 memcpy
注意: 将 * dest =*src 放在 while 判断里直接把 * scr 里面的 '\0' 一块拷贝过去了.
- #include<stdio.h>
- #include<assert.h>
- char* my_memcpy(char* dest, const char* src)
- {
- char* ret = dest;
- assert(dest != NULL);
- assert(src != NULL);
- while (*dest++ = *src++)
- {
- ;
- }
- return ret;
- }
- int main()
- {
- char arr[] = "abcdef";
- my_memcpy(arr, "hello");
- printf("%s\n", arr);
- system("pause");
- return 0;
- }
2, 模拟实现 mommove
- #include<stdio.h>
- #include<assert.h>
- char* my_memmove(char* dest, const char* src, size_t num)
- {
- char* ret = dest;
- assert(dest != NULL);
- assert(src != NULL);
- while (num--)
- {
- *dest++ = *src++;
- }
- return ret;
- }
- int main()
- {
- char arr[] = "abcdhello";
- my_memmove(arr, arr + 4, 4);
- printf("%s\n", arr);
- system("pause");
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2643687.html