c语言memset函数作用,C语言memset函数使用方法详解
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函数使用方法详解相关推荐
- sort在c语言中的作用,c语言中sort的用法详解.docx
c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...
- c语言extern的作用6,C语言中extern用法详解
本文基于VC6.0 编译器 首先文档结构如下: myextern.h和myextern.c中定义extern函数 main.c中定义main方法,调用extern函数 1.第一个尝试: myexter ...
- c 语言 多进程,VC++中进程与多进程管理的方法详解
本文实例讲述了VC++中进程与多进程管理的方法,分享给大家供大家参考.具体方法分析如下: 摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行.子进程的创建与结束等作了较详细的阐述. ...
- c 语言字体怎么改,VC++中的字体设置方法详解
VC++中static text字体改变 窗口都有2个和字体有关的函数:CWnd::GetFont()和SetFont(CFont*, BOOL); 1)CFont* pFont = m_static ...
- Java语言求笛卡尔积,Java笛卡尔积算法原理与实现方法详解
本文实例讲述了Java笛卡尔积算法原理与实现方法.分享给大家供大家参考,具体如下: 笛卡尔积算法的Java实现: (1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列. ...
- android sqlite自定义函数,Android中自定义一个View的方法详解
本文实例讲述了Android中自定义一个View的方法.分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到 ...
- java去掉字符串中前后空格函数_JAVA中去掉字符串空格各种方法详解
1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 代码如下 复制代码 ...
- c语言memset函数用法,C语言memset函数使用方法详解
C语言memset函数使用方法详解 一.函数原形 void * memset(void*s, int ch,size_t n) 二.函数作用 将以s内存地址为首的连续n个字节的内容置成ch,一 ...
- c语言 定时器作用,单片机定时器的作用及使用方法详解
单片机定时器的作用及使用方法详解 单片机定时器在单片机的功能是很重要的,它一般被用作定时功能,来做定时检测.定时响应和定时控制,并且可以产生毫秒宽的脉冲信号来驱动步进电机.计时和计数的最终功能是通过计 ...
最新文章
- 计算机ppt2003考试试题,计算机模块PPT2003试题及答案.doc
- sysbench mysql测试_使用sysbench对MySQL进行测试
- React.js 小书 Lesson5 - React.js 基本环境安装
- C语言中assert()断言函数的概念及用法
- linuxpython拍照_linux下python抓屏实现方法 -电脑资料
- 【Ranger】mac下Apache Ranger编译安装
- php无重复字符的最长子串,无重复字符的最长字串问题
- VirtualBox 虚拟CentOS7新增虚拟盘,并扩充 root和home 目录容量
- Windows Server 2016安装SQLServer2008R2
- 老虎证券爬取港股(对小米股价的实时显示和报警)
- 【RAII】RAII 技术(内存安全解决技术/自动化解锁技术)
- 【工程化系列】逆向工程(反编译)
- iOS开发--下滑返回dismiss
- u盘坏了数据可以恢复吗?用u盘数据恢复软件
- 杰理zHiUSB设备功能【篇】
- android 设置头像以及裁剪功能
- 【教学】手写汉字识别_单个汉字鼠标手写识别
- 设计模式 - 六大设计原则之LoD(迪米特法则原则)
- 1.6 入库and出库单
- bat 自动执行 SVN 命令