关于memset的使用

本文详细解释了memset函数的正确使用方法,包括其所在头文件string.h,并总结了不会导致错误的赋值方式,如memset0、memset-1等。

有些oj上的G++支持 cstdio的memset,有些则支持stdio.h中的memset(划掉)

这两个头文件关系比较复杂, 具体我也说不清...按照c++文档中的说法,stdio已经deprecated了,也就是不赞成使用了。(划掉)

但貌似我有几道题用csdio的memset编译错误,要用stdio.h(划掉)


 

memset应该是在string.h头文件

memset是按字节赋值的,比如memet 0x3f, 3f就是一个字节,64位系统中,int有32位即4个字节,所以赋值给int后每一个数都是0x3f3f3f3f,4个3f

现在应该清楚了为什么不能用memset赋值1了吧,1 写成8位字节是00000001,赋值给int就变成了00000001 00000001 00000001 00000001, 不知道变成啥奇怪的玩意儿了

至于赋值-1,大概是刷了11111111进去,总的还是-1,所以赋值-1是没问题的。

 

 

下面总结一些不会错的赋值

memset 0

memset -1

memset 0x7f(int可达到的最大值2139062143)

memset 0x3f ( 0x3f 大约10亿6千万,常用的)

转载于:https://www.cnblogs.com/chaoswr/p/7872412.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值