当前位置: 首页 > news >正文

memset函数

让我们先看两个代码

memset(dp, 0x3f, sizeof(dp));
for (int i = 0; i < 5; i++)cout << dp[i] << " ";
memset(dp, 127, sizeof(dp));
for (int i = 0; i < 5; i++)cout << dp[i] << " ";

代码结果如下:

现在我们来分析一下原因:

因为memset是以字节为单位赋值的

什么意思呢

首先,一个int占四个字节,每个字节8位

memset(dp, 1, sizeof(dp));

这段代码的意思是用1来填充每个字节,填充完后每个dp[i]的结果如下

 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1

这实际上是2^24+2^16+2^8+2^0 = 16843009

同理127的二进制为 

 1 1 1 1 1 1 1 1

因此用memset初始化为

 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1

注意memset的两个特殊初始化,一个初始化为0,还有个为-1;

memset(dp, 0, sizeof(dp));

memset(dp, -1, sizeof(dp));

http://www.lryc.cn/news/349205.html

相关文章:

  • Java面向对象——多态
  • python 对矩阵与矩阵之间对应位置的元素,做softmax操作,代码实战
  • Angular前端项目在Apache httpd服务器上的部署
  • Oracle 更改数据文件位置的几种常用方式
  • 【opencv】图像畸变校正
  • Charger之二输入电压动态电源原理(VIN-DPM)
  • 【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)
  • 曲线救国:window 安装 docker
  • 番外篇 | 利用PyQt5+YOLOv5来搭建目标检测系统(附可视化界面+功能介绍+源代码)
  • Pascal Content数据集
  • 【Unity】使用Resources.LoadAll读取文件的顺序问题
  • pdf怎么标注红色方框?五种PDF标注红色方框方法
  • C++字符串细节,面试题06
  • AutoModelForCausalLM.from_pretrained 函数调用本地权重报错
  • 【qt】动态属性
  • Git知识点总结
  • 【数据库】数据库指令
  • 设计模式——状态模式(State)
  • 理解打包好的vue项目结构dist包
  • 24深圳杯C题18页高质量论文+可执行代码+图表
  • Midjourney Imagine API 申请及使用
  • 电子邮箱是什么?怎么申请一个电子邮箱?
  • C++ 并发编程指南(11)原子操作 | 11.4、通过内存序实现顺序模型
  • 【数据结构】栈和队列专题
  • 2024年程序员最应该关注的几件事?
  • 【初阶数据结构】单链表基础OJ题讲解
  • 基于Java的俄罗斯方块游戏的设计与实现
  • Hadoop 3.4.0+HBase2.5.8+ZooKeeper3.8.4+Hive+Sqoop 分布式高可用集群部署安装 大数据系列二
  • umi搭建react项目
  • mybatis-plus之数据源切换事务失效问题