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

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

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

三。常见错误

1.搞反了 ch 和 n的位置

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

2.过度使用memset

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

int fun(strucy something * a)

{

.....

memset(a,0,sizeof(a));

.....

}

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

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

4.想对数组初始化为1

int main()

{

int a[20];

memset(a,1,20);

}

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

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

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

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

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

  2. c语言swatch的用法返回,Linux swatch系统监控程序命令详解

    swatch(simple watcher) 功能说明:系统监控程序. 语 法:swatch [-A ][-c ][-f ][-I ][-P ][-r ][-t ] 补充说明:swatch可用来监控系 ...

  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. java file用法_Java File 类的使用方法详解(转)

    转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...

  9. php中的hashmap的用法,基于HashMap遍历和使用方法(详解)

    map的几种遍历方式: Map< String, String> map = new HashMap<>(); map.put("aa", "@s ...

最新文章

  1. stm32之spi之NSS管脚信号
  2. 解决react-native 运行报错:Entry, :CFBundleIdentifier, Does Not Exist
  3. asp.net电子商务开发实战 视频 第二讲 (下)
  4. Smart-Mall新零售商城系统
  5. opencv android
  6. 面试必会之HashMap源码分析
  7. Luzj's ZTE Win版 终于开发完成
  8. 查看服务器的外网IP
  9. 图片相似原理 - Java实现
  10. 第2部分 字符串算法(提高篇)--第2章 KMP算法-1468:OKR-Periods of Words
  11. 关于vue弹窗自定义
  12. 产品运营人员常用的5款软件,解决远程办公问题
  13. unity3d学习笔记(一)方向键移动物体
  14. 经典笔试面试题总结(一)
  15. APEX是NVIDIA PhysX技术的一个强有力的补充
  16. 计算机专业社会需要分析,计算机专业社会需求数据分析开题报告.doc
  17. 【报告分享】 2021年女性居住现状调查报告-贝壳研究院(附下载)
  18. 工程伦理 第九章习题 答案
  19. 基于MATLAB2020b的J. R.S. THOM的水强制循环沸腾压降预测模型压降倍乘系数计算器
  20. CPU负载很低,loadavg很高处理方法

热门文章

  1. python 二进制来进行_如何进行追加二进制文件 python
  2. 前端实现右键自定义菜单
  3. Maven项目报错:Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/Filter
  4. WEB数据库管理平台kb-dms:创建表+编辑表+编辑索引【七】
  5. iOS APP设计规范大全
  6. 使用python输出1~100之间的质数
  7. 检测网络是否稳定的计算机命令,怎么看电脑上网络丢包 查看网速有没稳定和网络是否延时方法...
  8. 论社会信任网络中货币的债权属性和关于去中心化货币网络协议的建议
  9. Ubuntu20.04软件主要管理工具包详细介绍:离线安装dpkg、在线安装apt、源码安装(适用于Github程序下载)
  10. 解读 ChatGPT 背后的技术重点:RLHF、IFT、CoT、红蓝对抗