关于内存函数有四个函数需要我们学习。分别是memcpy,memmove,memset和memcmp。都在头文件string.h里面。
一.memcpy函数的使用
一提到这个函数,我们可能会联想到strcpy函数,但strcpy函数是针对字符串的拷贝。但是我们在写代码的时候不可能只拷贝字符串。
int arr1[] = { 1,2,3,4,5,6,7,8,9,0 };
int arr2[20] = { 0 };
在这里我想把arr1前五个元素拷贝到arr2里面,要怎么样实现呢?这里我们就可以使用memcpy。大家注意,memcpy是针对内存块进行拷贝的。它是有三个参数的。
它的前两个参数都是void*类型的指针。
(1)函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置(2)这个函数在遇到'\0'后不会停下来(3)如果source和destination有任何的重叠,复制的结果都是未定义的。下面我来用代码演示一遍。
#include<stdio.h>
#include<string.h>
int main()
{
int arr1[] = { 1,2,3,4,5,6,7,8,9,0 };
int arr2[20] = { 0 };
memcpy(arr2, arr1, 20);/