在文章嵌入式Linux开发《C语言专题(五:(3)函数之字符串函数1)》嵌入式Linux开发《C语言专题(五:(3)实用的字符串函数2)》和嵌入式Linux开发《C语言专题(五:(3)实用的字符串函数3)》中对C语言中字符串函数做了详细介绍,这篇文章将介绍部分操作内存的函数。这些内存函数在实际的研发和面试中也有很大的用处。
内存操作函数有memcpy、memmove、memset、 memcmp 、memchr 、memrchr 、 malloc、calloc、 free、 realloc 等,大多数以mem开头。
(1)memcpy:从内存区域src的位置复制n字节到内存区域dest位置
函数名:memcpy
函数原型:void *memcpy(void *dest, const void *src, size_t n);
函数参数:dest:目标内存区
src:源内存区
n:复制的数据字节个数
头文件: #include
功能:从内存区域src的位置复制n字节到内存区域dest位置
返回值:返回dest指针
说明:要确保src内存区域位置不要与内存区域dest重合,否则会出现意想不到的结果。
此函数并不关心被复制的数据类型,只是逐字节地进行复制,这给函数的
使用带来了很大的灵活性,可以对任何数据类型进行复制。dest 指针要分配足够
的空间,也即大于等于 num 字节的空间。如果没有分配空间,可能会修改dest相邻
后面内存的值。
代码演示:
#include //一定要加上操作头文件#include //演示memcpy内存复制操作int main(int argc, char** argv){char *str = "hello world";//第一种:str和dest内存空间不重合,且dest空间足够//运行结果:显示dest中的内容: hello world char dest[20] = {0}; memcpy(dest, str, strlen(str)); printf("显示dest中的内容: %s