memset函数


void * memset ( void * ptr, int value, size_t num );

函数解释:将ptr中当前位置后面的num个字节 用 value 替换并返回 ptr 。


理解

memset的填充方式为按 字节(byte) 填充。

memset会截取value的最后一个byte填入到ptr的每一个字节中。


例如

  1. 对 int类型数组 arr 进行初始化:

    memset(arr, 1, sizeof(arr));

    这里的value为十进制的1,转换为二进制为 0000 0001(因为1byte 有 8bit),1个int类型变量有4个字节,memset会对每一个字节填充为 0000 0001 ,所以数组中的每个元素的二进制为 0000 0001 0000 0001 0000 0001 0000 0001 ,即十进制为 16843009

  2. 当value为 0x7f 时,每一个字节为 0x7f ,数组中的每个元素的十六进制为 0x7f7f7f7f,即十进制的 2,139,062,143


运用

  1. value == 0 时, int类型变量值为 0
  2. value == 0xff(十进制为255) 时,int类型变量值为 -1
  3. value == 0x3f(十进制为63) 时, int类型变量值为 1,061,109,567
  4. value == 0x7f(十进制为127) 时, int类型变量值为 2,139,062,143

[C++] memset函数用法理解相关推荐

  1. c++ memset 语言_C++中memset函数用法详解

    本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常 ...

  2. memset()函数用法

    1. memset()函数原型是extern void *memset(void *buffer, int c, int count)        buffer:为指针或是数组, c:是赋给buff ...

  3. memset()函数用法及其作用

    memset()函数原型是: extern void *memset(void *buffer, int c, int count) //buffer:为指针或是数组, //c:是赋给buffer的值 ...

  4. memset函数用法百度

    memset是计算机中C/C++语言函数.将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存 ...

  5. memset linux 头文件,C函数之memset()函数用法

    1.功能:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针 2. 需要的头文件 o ...

  6. c语言memset函数用法(转)

    功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void * ...

  7. c语言memset函数用法,深入学习C语言中memset()函数的用法

    头文件: #include memset() 函数用来将指定内存的前n个字节设置为特定的值,其原型为: void * memset( void * ptr, int value, size_t num ...

  8. c语言memset函数用法,C语言memset函数使用方法详解

    C语言memset函数使用方法详解 一.函数原形   void *  memset(void*s, int ch,size_t n) 二.函数作用  将以s内存地址为首的连续n个字节的内容置成ch,一 ...

  9. 【C语言】memset函数用法

    数组也可以直接进行初始化,但 memset 是对较大的数组或结构体进行清零初始化的最快方法,因为它是直接对内存进行操作的. 头文件:#include <string.h> void *me ...

最新文章

  1. 神经网络中参数数量的计算
  2. 使用Pylint进行Python代码规范检查
  3. bean覆盖 springboot_Springboot配置加载覆盖值顺序
  4. 为什么子线程中不能直接更新UI
  5. P3358 最长k可重区间集问题(网络流:串联思想)
  6. 和每个人密切相关的人工智能的应用
  7. linux配置apache不管用,Linux中apache配置文件详解
  8. java如何配置maven路径_如何配置Eclipse构建路径以使用Maven依赖项?
  9. python 怎么样去txt中提取xml_Python根据XML批量创建TXT并提取信息,python,xml,txt
  10. 东北大学文科能学计算机专业吗,东北大学有哪些好专业,文科理科专业分别有哪些...
  11. 如果从零开始开发一款APP,需要做哪些准备
  12. Kyoto Tycoon挂载LevelDB,编译安装篇
  13. iptv写代理php,苏州电信iptv用openwrt dhcp客户端协议突破dhcp+鉴权
  14. Qt界面语言设置(官方汉化)
  15. Mac无法打开CORE Keygen
  16. bert获得词向量_NLP中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
  17. 【工作总结】书面方式回复注意遣词…
  18. 基于PHP的旅游资讯管理系统
  19. 在毕业设计论文Word中交叉引用参考文献
  20. @Dan Abramov:我的十年回顾

热门文章

  1. delphi 多线程详解及其详解例子
  2. 51cto课程数据分析
  3. 在nodejs中将GBK转UTF
  4. LeetCode错误总结
  5. jasperprint java_关于jasperreport对应java打印机的解决方案
  6. 【考研计算机组成原理】强化 存储系统大题
  7. Linux .a文件.o文件.la文件.lo文件和.so文件
  8. opencv HSV色彩空间 追踪特定颜色
  9. 思微特电器进销存总结
  10. Python编程基础:实验3——字典及集合的使用