当前位置: 首页 > wzjs >正文

网站项目设计与制作竞价网

网站项目设计与制作,竞价网,多城市网站建设,wordpress 阿里oss目录 前言: 一、内存复制函数 1. memcpy - 内存块复制 2. memmove - 内存块移动 二、内存设置函数 1. memset - 内存块填充 三、内存比较函数 1. memcmp 2.memchr 三内存分配函数 1 .malloc 2.free 总结: 注意事项: 前言&…

目录

前言:

一、内存复制函数 

1. memcpy - 内存块复制 

2. memmove - 内存块移动

二、内存设置函数

1. memset - 内存块填充

三、内存比较函数

1. memcmp 

2.memchr

三·内存分配函数

1 .malloc

2.free

 总结:

注意事项:


前言:

在 C 语言中,内存函数是用于直接操作内存区域的函数,它们位于<string.h>头文件中。这些函数不依赖于特定的数据类型,而是基于内存地址和字节操作,因此具有很高的通用性。

以下是 C 语言中核心内存函数的详细总结:


一、内存复制函数 

1. memcpy - 内存块复制 

void *memcpy(void *dest, const void *src, size_t n);
  • 功能:从src复制n个字节到dest
  • 注意
    • destsrc内存区域重叠,结果未定义(推荐使用memmove处理重叠情况)。
    • 返回指向dest的指针。

 示例:

#include <stdio.h>
#include <string.h>
int main()
{int arr1[5] = { 1, 2, 3, 4, 5 };int arr2[5];memcpy(arr2, arr1, sizeof(arr1)); // 复制整个数组将1 的复制到2for (int i = 0;i < 5;i++){printf("%d ", arr2[i]);}return 0;
}

2. memmove - 内存块移动

void *memmove(void *dest, const void *src, size_t n);
  • 功能:将n个字节的数据从源内存区域src复制到目标内存区域dest,可以处理源和目标内存块重叠的情况。

  • 原型void *memmove(void *dest, const void *src, size_t n);

  • 示例

    char str[] = "memmove can be very useful......";
    memmove(str + 20, str + 15, 11);
    
  • 返回值:返回目标存储区dest的指针。

示例:

int arr[10] = {0,1,2,3,4,5,6,7,8,9};
// 将前5个元素后移2位
memmove(arr+2, arr, 5 * sizeof(int));
// 结果:arr = {0,1,0,1,2,3,4,7,8,9}
for (int i = 0;i < 10 ;i++)
{printf("%d ", arr[i]);
}


二、内存设置函数

1. memset - 内存块填充

  • 功能:将s的前n个字节设置为字符c(转换为unsigned char)。
  • 常见用途
    • 初始化数组为 0:memset(arr, 0, sizeof(arr));
    • 初始化结构体:memset(&obj, 0, sizeof(obj));

示例: 

char str[10];
memset(str, 'A', 5); // str = "AAAAA\0\0\0\0\0"

后面为乱序自由生成 


三、内存比较函数

1. memcmp 

int memcmp(const void *s1, const void *s2, size_t n);
  • 功能:比较s1s2的前n个字节。
  • 返回值
    • 如果s1 < s2,返回一个小于0的值。
    • 如果s1 == s2,返回0。
    • 如果s1 > s2,返回一个大于0的值

示例:

int arr1[3] = {1, 2, 3};
int arr2[3] = {1, 2, 4};
int result = memcmp(arr1, arr2, sizeof(arr1)); // result < 0

2.memchr

  • 功能:在s指向的内存区域的前n个字节中查找字符c
  • 原型void *memchr(const void *s, int c, size_t n);
  • 返回值
    • 如果找到字符c,返回指向该字符的指针。
    • 如果未找到字符c,返回NULL

示例:

char str[] = "hello world";
char *ptr = memchr(str, 'w', strlen(str));

三·内存分配函数

虽然题目主要集中在内存操作函数上,但为了完整性,这里也简要介绍几个常用的内存分配函数:

1 .malloc

  • 功能:动态分配指定大小的内存空间。

  • 原型void *malloc(size_t size);

  • 示例

    int *ptr = (int *)malloc(5 * sizeof(int));

  • 注意事项:分配的内存需要使用free函数释放,否则会导致内存泄漏。

2.free

  • 功能:释放之前通过malloccallocrealloc分配的内存。
  • 原型void free(void *ptr);
  • 示例
    free(ptr);

 总结:

注意事项:

  • 动态分配的内存需要及时释放(free),以避免内存泄漏。
  • 使用这些函数时,确保提供的指针和大小参数是有效的,以防止未定义行为。

C语言 知识点到此大部分讲述完毕,文件操作咱们下章再见!!!!

http://www.dtcms.com/wzjs/447561.html

相关文章:

  • ps网页素材内部搜索引擎优化
  • 网站主题说明怎么写app网络推广公司
  • 做网站那个平台站长统计官方网站
  • 做商城微信网站江苏提升关键词排名收费
  • 石家庄制作网站的公司计算机基础培训机构
  • 屏山县建设招标网站太原百度seo排名
  • 昆明网站推广哪家好北京网站优化企业
  • 手机抖音你做我女朋友好吗套路网站广州新闻最新消息今天
  • java做的网站怎么设置关闭和开启网站访问不了怎么办怎么申请网站空间
  • 电子商务网站怎么建设新郑网络推广外包
  • 建设部网站取消园林资质百度移动应用
  • 做自媒体的网站名字百度公司官网入口
  • 做美团旅游网站多少钱网站推广费用
  • 购物网站设计流程图帮忙推广的平台
  • 个人网站制作申请产品推广计划书怎么写
  • 小程序注册之后怎么开发seo课程培训学校
  • 网站备案主体是软文的本质是什么
  • 做网站排名费用网络营销的方法有哪些?
  • 宠物网站开发文档百度竞价推广怎么收费
  • 搞个竞拍网站怎么做网站建设企业咨询
  • 做网站能改吗陕西seo推广
  • 怎么把网站做成app广告发布平台
  • 有哪些做伦敦金的网站百度公司招聘官网最新招聘
  • 自制网站的动态图怎么做如何推广普通话
  • 网站测速全国新冠疫情最新消息
  • 网站做调查问卷给钱的兼职今日头条热搜
  • 网站如何做搜狗搜索引擎优化
  • 手机端网站建设教程视频教程杭州seo网站建设靠谱
  • wordpress 登录后台湖南网站seo推广
  • 网站制作工作室手游cpa推广平台