C语言中me开头的函数的使用
C语言中,有一系列的函数以me结尾,如memcpy、memmove、memset等。这些函数都是用来操作内存的。
其中,memcpy函数用于将一个内存地址的内容复制到另一个内存地址,
memmove函数也是用于将一个内存地址的内容复制到另一个内存地址,但是它可以处理内存重叠的情况,而memcpy则不能。
memset函数用于将一个内存地址的内容全部设置为某个值。
以下是这些函数的简单示例:
#include <stdio.h> #include <string.h> int main () { char str1[20] = "hello"; char str2[20] = "world"; char str3[20]; char str4[20]; /* 复制 str1 到 str3 */ memcpy(str3, str1, strlen(str1)+1); printf("memcpy(str3, str1, strlen(str1)+1): %s\n", str3); /* 复制 str2 到 str4 */ memmove(str4, str2, strlen(str2)+1); printf("memmove(str4, str2, strlen(str2)+1): %s\n", str4); /* 设置 str1 为 'r' */ memset(str1, 'r', strlen(str1)); printf("memset(str1, 'r', strlen(str1)): %s\n", str1); return 0; }
//memcpy和memmove函数的第三个参数是要复制的字节数。因为字符串以'\0'结尾,所以要将'\0'也复制过去,所以要strlen(str1)加1。而memset函数的第三个参数是要设置的字节数,所以不需要加1。
//memset函数只会将指定的字节数设置为某个值。在这个例子中,strlen(str1)返回的是字符串str1的长度,所以memset函数只会将字符串str1的前5个字符设置为'r',而不是整个str1的内存都设置为'r'。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用