memset用法 & int、long long、float、double 的极值怎么清

memset用法 & int、long long、float、double 的极值怎么清

memset 是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部(以字节为单位)设置为指定的值。在竞赛中,常用来进行数组的初始化。

memset 函数原型定义如下:

// 函数解释:将 ptr 中当前位置后面的 num 个字节用 value 替换并返回 ptr
// 其中,size_t 其实就是  unsigned int
void * memset ( void * ptr, int value, size_t num );

Copy

正因为 memset 函数是以字节为单位赋值的,所以使用它并不能将数组元素修改为任意值,而竞赛中又常常需要将数组初始化为 0、最大值或最小值。写循环赋值的话,也不是不可以,不过显得不那么“优雅”,针对这一点,下面整理了使用 memset 实现数组初始化的一些常用方法。

1、memset 可以对 字符数组 进行赋值吗?

可以的,比如将字符数组 s 全部初始化为 ‘#’ 字符,就可以使用下面的方法:memset(s, '#', sizeof s); 。不过使用memset 对 字符 进行赋值很少使用,除了在一些字符迷宫搜索类的题目外。

需要注意:memset 无法对 string 字符串进行赋值!想对字符串进行赋值,请使用 string.resize() 函数。

2、memset 对 布尔型数组 进行赋值吗?

INT_MAX&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10247D

我会继续努力,信息技术会越好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值