【C】内存函数——知识点大全(精炼,全面,基础)

简介: 【C】内存函数——知识点大全(精炼,全面,基础)

一.内存函数总览

image.png

1.内存函数的头文件

#include<string.h>

二.memcpy(内存拷贝函数)

特性:限制字节数不限制类型

image.png应用场景: 

image.png

image.png

1.memcpy的模拟实现

image.png

2.情景1:自己拷贝自己的一部分

PS:若不想分类讨论,直接用memmove函数

分析:有两种情形

  • 目标区域在前面,从源区域前往后拷贝
  • 目标区域在后面,从源区域后往前拷贝

原理:保证重合的部分,能够优先从该方向上拷贝出来

原理图示:

image.png

直接情况分类:

image.png

代码展示:

 image.png

三.memmove(处理重叠内存的内存拷贝函数)

image.png

特点:memmove不用像memcpy一样考虑源区域头地址与目标区域头地址的位置关系

四.memcmp(内存比较函数)

image.png

memcmp的返回值:

image.png

使用场景:

image.png

1.比较memcmp和strcmp

strcmp限定了字符指针类型(char*),而memcmp不限定类型(void*)

image.png

五.memset(内存设置函数)

image.png


PS:value为设置的值,num为修改的前num个字符个数(字节个数)

num的赋值规则:

  •  要将参数化为二进制填入

使用场景:

image.png

PS:一个int数组,一个元素有4个字节;

这里修改8个字节/9个字节,均将该元素改为0。

相关文章
|
2月前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
37 3
|
14天前
|
存储 缓存 算法
【C语言】内存管理函数详细讲解
在C语言编程中,内存管理是至关重要的。动态内存分配函数允许程序在运行时请求和释放内存,这对于处理不确定大小的数据结构至关重要。以下是C语言内存管理函数的详细讲解,包括每个函数的功能、标准格式、示例代码、代码解释及其输出。
45 6
|
2月前
|
存储 缓存 算法
JVM核心知识点整理(内存模型),收藏再看!
JVM核心知识点整理(内存模型),收藏再看!
JVM核心知识点整理(内存模型),收藏再看!
|
2月前
|
程序员 C++ 容器
在 C++中,realloc 函数返回 NULL 时,需要手动释放原来的内存吗?
在 C++ 中,当 realloc 函数返回 NULL 时,表示内存重新分配失败,但原内存块仍然有效,因此需要手动释放原来的内存,以避免内存泄漏。
|
2月前
|
存储 程序员 编译器
C语言——动态内存管理与内存操作函数
C语言——动态内存管理与内存操作函数
|
2月前
|
编译器 C语言 C++
详解C/C++动态内存函数(malloc、free、calloc、realloc)
详解C/C++动态内存函数(malloc、free、calloc、realloc)
302 1
|
2月前
|
程序员 C语言
C语言内存函数精讲
C语言内存函数精讲
|
2月前
|
存储 编译器 C++
【C++】掌握C++类的六个默认成员函数:实现高效内存管理与对象操作(二)
【C++】掌握C++类的六个默认成员函数:实现高效内存管理与对象操作
|
2月前
|
存储 C语言
【c语言】字符串函数和内存函数
本文介绍了C语言中常用的字符串函数和内存函数,包括`strlen`、`strcpy`、`strcat`、`strcmp`、`strstr`、`strncpy`、`strncat`、`strncmp`、`strtok`、`memcpy`、`memmove`和`memset`等函数的使用方法及模拟实现。文章详细讲解了每个函数的功能、参数、返回值,并提供了具体的代码示例,帮助读者更好地理解和掌握这些函数的应用。
34 0
|
2月前
|
C语言 C++
c语言回顾-内存操作函数
c语言回顾-内存操作函数
43 0