C语言memset函数使用方法详解

一。函数原形   void *  memset(void*s,int ch,size_t n)

二。函数作用  将以s内存地址为首的连续n个字节的内容置成ch,一般用来对大量结构体和数组进行清零

三。常见错误

1.搞反了 ch 和 n的位置

对char[20]清零,一定是 memset(a,20);

2.过度使用memset

3.其实这个错误严格来讲不能算用错memset,但是它经常在使用memset的场合出现

int fun(strucy something * a)

{

.....

memset(a,sizeof(a));

.....

}

这里错误的原因是VC函数传参过程中的指针降级,导致sizeof(a),返回的是一个 something*指针类型大小的的字节数,如果是32位,就是4字节。经常使用这种形式

memset(a,n*sizeof(type));

4.想对数组初始化为1

int main()

{

int a[20];

memset(a,1,20);

}

这种方法不能初始化为1。原因是memset函数是按照字节赋值的,int 是4个字节所以为0x01010101,就是十进制的16843009。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

c语言memset函数作用,C语言memset函数使用方法详解相关推荐

  1. sort在c语言中的作用,c语言中sort的用法详解.docx

    c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...

  2. c语言extern的作用6,C语言中extern用法详解

    本文基于VC6.0 编译器 首先文档结构如下: myextern.h和myextern.c中定义extern函数 main.c中定义main方法,调用extern函数 1.第一个尝试: myexter ...

  3. c 语言 多进程,VC++中进程与多进程管理的方法详解

    本文实例讲述了VC++中进程与多进程管理的方法,分享给大家供大家参考.具体方法分析如下: 摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行.子进程的创建与结束等作了较详细的阐述. ...

  4. c 语言字体怎么改,VC++中的字体设置方法详解

    VC++中static text字体改变 窗口都有2个和字体有关的函数:CWnd::GetFont()和SetFont(CFont*, BOOL); 1)CFont* pFont = m_static ...

  5. Java语言求笛卡尔积,Java笛卡尔积算法原理与实现方法详解

    本文实例讲述了Java笛卡尔积算法原理与实现方法.分享给大家供大家参考,具体如下: 笛卡尔积算法的Java实现: (1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列. ...

  6. android sqlite自定义函数,Android中自定义一个View的方法详解

    本文实例讲述了Android中自定义一个View的方法.分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到 ...

  7. java去掉字符串中前后空格函数_JAVA中去掉字符串空格各种方法详解

    1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 代码如下 复制代码 ...

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

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

  9. c语言 定时器作用,单片机定时器的作用及使用方法详解

    单片机定时器的作用及使用方法详解 单片机定时器在单片机的功能是很重要的,它一般被用作定时功能,来做定时检测.定时响应和定时控制,并且可以产生毫秒宽的脉冲信号来驱动步进电机.计时和计数的最终功能是通过计 ...

最新文章

  1. 计算机ppt2003考试试题,计算机模块PPT2003试题及答案.doc
  2. sysbench mysql测试_使用sysbench对MySQL进行测试
  3. React.js 小书 Lesson5 - React.js 基本环境安装
  4. C语言中assert()断言函数的概念及用法
  5. linuxpython拍照_linux下python抓屏实现方法 -电脑资料
  6. 【Ranger】mac下Apache Ranger编译安装
  7. php无重复字符的最长子串,无重复字符的最长字串问题
  8. VirtualBox 虚拟CentOS7新增虚拟盘,并扩充 root和home 目录容量
  9. Windows Server 2016安装SQLServer2008R2
  10. 老虎证券爬取港股(对小米股价的实时显示和报警)
  11. 【RAII】RAII 技术(内存安全解决技术/自动化解锁技术)
  12. 【工程化系列】逆向工程(反编译)
  13. iOS开发--下滑返回dismiss
  14. u盘坏了数据可以恢复吗?用u盘数据恢复软件
  15. 杰理zHiUSB设备功能【篇】
  16. android 设置头像以及裁剪功能
  17. 【教学】手写汉字识别_单个汉字鼠标手写识别
  18. 设计模式 - 六大设计原则之LoD(迪米特法则原则)
  19. 1.6 入库and出库单
  20. bat 自动执行 SVN 命令

热门文章

  1. 机器学习-多项式回归算法
  2. 魔改并封装 YoloV5 Version7 的 detect.py 成 API接口以供 python 程序使用
  3. iOS学习笔记:frame,bound,center, anchorPoint
  4. Discuz!论坛Tools工具箱功能详解
  5. WXID怎么转换成手机号
  6. leetcode_加一
  7. 大数据的意义是什么?
  8. x、y的平方和的平方根的函数,并在main中执行
  9. [转载](家常菜系列)教你几道八大菜系中的佳肴做法
  10. jdbcType报错