我是靠谱客的博主 甜美音响,最近开发中收集的这篇文章主要介绍内存操作函数(memcpy、memmove、memcmp、memchr、memset),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

存在内存操作函数的意义:对任何类型都适用,只要按照字节操作。

memcpy函数:


注:memcpy函数从src的位置向后复制count个字节到dest的内存位置;

这个函数在遇到''不会停下来;

如果src和dest有任何的重叠,复制的结果都是未定义的。


有以上代码可知:memcpy可以将整个结构体拷贝给另一个结构体。当然也可以拷贝整个数组及其他。

memmove函数:


和memcpy的差别是memmove函数处理的源内存块和目标内存块是可以重叠的。

如果源空间和目标空间出现重叠,就得使用memmove函数处理。



memcmp函数:


比较从buf1和buf2指针开始的num个字节。


比较8个字节,因为'd'的ASCII码大于‘D’。

memchr函数:


在buf的count个字节查找字符c。


memset函数:


memet函数用于初始化。


但是如果设置为0呢?


可以看到可以初始化为0.

那如果设置为整数1呢?


16843009其实是1111,也就是说将每个元素的四字节全都初始化为1,因为0将四个字节初始化为0元素还是为0。

所以需要注意的是memset是按字节进行初始化的。

本篇博客里所有函数都是按字节操作的。






最后

以上就是甜美音响为你收集整理的内存操作函数(memcpy、memmove、memcmp、memchr、memset)的全部内容,希望文章能够帮你解决内存操作函数(memcpy、memmove、memcmp、memchr、memset)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部