memset in C++ and C

2023-11-14

definition

memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。这个函数更多是用于字节类型的数据的初始化或者是初始化为0、用memset是最快的。

http://baike.baidu.com/link?url=hFWTHNsqzGulEdUhthPCRbpfIV3CO74ORmd5fm6axmo80BkApdBTRHPDJkxUX7xa4xRLUKLSLpXR9FJ6b8_o7a

example

two dimension array:

memset(test, 0, sizeof(test));

memset(&test[0][0], 0, sizeof(test));

memset(test[0],0,sizeof(test));

tip:
memset is used on one dimension array, if the two dimensions arrat like a[ 2][ 9], in this situation, the memory is allocated in one dimension. But if the allocation is dynamic, we need use another strategy to finish the work. like following exampe:

动态分配(例如分配10个单元的): int *array=new int [10];

初始化:memset(array,0,sizeof(array));       
// (也可以利用一个for循环对其赋值初始化)

撤销:delete [] array;
int **array;

array = new int *[10];

for(int i=0;i<10;i++)
{
      array[i]=new int [5];

      memset(array[i],0,5*sizeof(int));

}

二维数组的撤销:delete [] array;

another method for dynamic allocation of two dimension array:
int x = 3, y = 4;

int *p = new int*[x];//创建一个动态 int* 型数组

for (int i = 0; i < y; ++i)

   p[i] = new int [x]; //再创建一个动态 int 型数组

for (int i = 0; i < y; ++i)
{
   delete p[i];//由里至外,进行释放内存。 ---------------我认为是    
   delete [] p[i];
   p[i] = NULL;//不要忘记,释放空间后p[i]不会自动指向NULL值,还将守在原处,只是释放内存而已,仅此而已。
}
delete []p;
p = NULL;

http://blog.sina.com.cn/s/blog_75e063c101014dhe.html
http://bbs.csdn.net/topics/360076475

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

memset in C++ and C 的相关文章

  • C# Socket.receive连续接收0字节且循环中不阻塞

    我正在尝试用 C 编写一个最简单的多线程 TCP 服务器 它接收来自多个客户端的数据 每次连接新客户端时 都会建立套接字连接 并将套接字作为参数传递给新类函数 之后运行 while 循环并接收数据 直到客户端连接为止 这里的问题是 sock
  • 在运行时配置 ASP.NET 会话状态

    我们有一个使用 SQL Server 会话状态的 ASP NET 网站 状态配置在Web config like
  • 如何让我的方法等待所有线程完成?

    我有一个方法可以触发线程来完成一些工作 将有 2 个线程异步运行一段时间 当调用它们的回调方法时 回调会触发另一个线程 直到所有工作完成 如何让我的方法等待所有这些线程完成并被触发 如果这是 Net 4 0 您可以使用CountdownEv
  • 是否已经有一些基于 std::vector 的 set/map 实现?

    对于小型集合或地图 通常使用排序向量而不是基于树的向量要快得多set map 特别是对于 5 10 个元素的情况 LLVM 有一些类本着这种精神 http llvm org docs ProgrammersManual html ds se
  • 从对象中获取类型正在返回运行时类型[重复]

    这个问题在这里已经有答案了 我有一个简单的功能 public string getType object obj Type type obj getType return type FullName 如果您在运行时创建的字符串对象上使用此函
  • 如何在 Xamarin.Forms 中强制使用浅色模式?

    我的应用程序的 UI 设计为在灯光模式下使用 但如果手机的默认主题是深色模式 我的应用程序也会切换到深色模式 并且 UI 看起来很垃圾 所以我想强制我的应用程序使用灯光模式 我怎样才能做到这一点 In my app xaml我使用的文件Us
  • JObject ToString 与 StringEnumConverter 不起作用

    我正在尝试序列化一个匿名类 如下所示 public enum ErrorCode A B C var response JObject FromObject new Error new Message Test Code ErrorCode
  • 如何设置属性选择器的值 Expression>

    我需要使用模式工厂的想法将 Person 类实体中的实体属性 Address 与 FactoryEntities 类中的表达式 linq 相关联 看看这就是我所拥有的并且我想要做的 Address address new Address a
  • 在 Asp.net Web API 中处理 CORS 预检

    我的架构中有三个应用程序 它们位于同一服务器上 但具有不同的端口号 A Token Application port 4444 Asp net WebApi B API Application port 3333 Asp net WebAp
  • Clang 使用 -nostdlib 生成崩溃代码

    我正在尝试为可执行文件设置自己的运行时环境 但无法使用 clang v3 4 1ubuntu1 目标 x86 64 pc linux gnu 来生成没有段错误的可执行文件 我已将问题简化为以下内容 如果我有一个文件 crt1 c 除了满足
  • std::atomic 是否会阻止非原子变量对原子变量进行重新排序

    问题很简单 问 如果我有 settings N STNGS used by many threads std atomic
  • 验证仅适用于数组的第一项

    给定这个模型代码 Required Display Name Name public string Name get set 以下查看代码有效 Html LabelFor model gt model Name Html TextBoxFo
  • 拦截C# HttpClient GetAsync

    我有一个 Web 项目 C MVC5 但没有 WebAPI 和一个简单的 HTTP REST 客户端 该客户端调用外部 REST 服务并获取 accessToken 等 我想检查所有 Get PostAsync 调用对 statusCode
  • ASP.NET MVC - 路由 - 具有文件扩展名的操作

    有没有办法实现调用URLhttp mywebsite myarea mycontroller myaction xml这基本上是 假 请求文件 但结果将是一个为动态创建的文件提供服务的操作操作 我试过这个 context MapRoute
  • 使用本地系统帐户运行时,GetAccessControl 方法失败,出现意外错误代码 3

    我已经创建了 Windows 服务并使用本地系统帐户运行它 该服务正在读取用户文件并查找其所有者 在获取文件的访问权限以查找所有者时 它抛出以下异常 方法失败 出现意外错误代码 3 StackTrace 在 System Security
  • 初学者友好的方法来获取所有文件和目录的列表

    使用 NET 3 0 我得到了下面的方法 它可以正确返回指定目录的所有文件和目录 以及子目录 的集合 如果可能的话 我想将其简化为仅使用我非常熟悉的结构 具体来说 有以下几点我不太清楚 1 IEnumerable
  • 对 MFC UI 应用程序进行单元测试吗?

    如何对大型 MFC UI 应用程序进行单元测试 我们有一些大型 MFC 应用程序已经开发了很多年 我们使用一些标准的自动化 QA 工具来运行基本脚本来检查基础知识 文件打开等 这些由 QA 小组在日常构建后运行 但我们希望引入一些程序 以便
  • 在.Net中使用ObjectCache缓存对象并设置过期时间

    我陷入了一个场景 我的代码如下 更新 它不是关于如何使用数据缓存 我已经在使用它及其工作 它是关于扩展它 以便该方法在到期时间和从外部源获取新数据之间不会进行调用 object string this GetDataFromCache ca
  • 我如何将 C++ 与 VALA 混合起来

    我需要用 C 编写跨平台的 GUI 应用程序 但由于 C 的大多数 GUI 库都有点乏味 而且我对 C NET 非常熟悉 我发现使用 GTK 的代码 Vala 代码非常有趣 并且与其他方式相比有点容易 那么我该如何将 VAlA 与 C 混合
  • 我该怎么做才能完全关闭与mcu的tcpClient连接?

    我现在正在研究与 ESP32 中运行的 tcp 服务器的 tcp 套接字连接 通信工作正常 但我无法关闭连接 在搜索关闭 重置 tcpClient 上的解决方案后 似乎关闭 tcpClient 的正确方法应该是 tcpClient GetS

随机推荐

  • TortoiseGit日常使用指南

    本文在介绍了软件安装和设置后 写了TortoiseGit 常用的一些功能 包括 创建新库 添加文件及文件夹 创建分支 看分支情况及修改log 比较版本差异 合并分支 其他操作 Stash 忽略文件本文不包括 Git 服务器设置 Push 版
  • 预见未来:超强元AI诞生,抓住这个机会,利用AI变现也变得更加容易

    目录 一 引言 二 介绍 三 技术展现 四 元AI架构图展现 五 元AI变现技巧 商业版说明 六 后期规划 一 引言 如何利用AI变现已经成为了当今各个行业亟需解决的问题 随着人工智能技术的快速发展和普及 越来越多的企业开始将其应用于产品研
  • 微信小程序地理位置接口wx.getLocation接口申请方法技巧

    我们在开发微信小程序的时候 提交审核微信官方就会检测咱们的小程序有没有用到位置功能 涉及用到哪个位置接口 然后就会要求我们先申请相应的位置接口 审核通过后才可以发布小程序 这个接口审核一直是让大家头痛的事情 有的小伙伴申请几十次都不给过 有
  • vue防抖 自定义ref实现输入框防抖

    防抖 debounce 当持续触发事件时 一定时间段内没有再触发事件 事件处理函数才会执行一次 如果设定的时间到来之前 又一次触发了事件 就重新开始计时 接下来我将带大家一步步分析如何把input防抖做到极致 首先需要把input 的双向绑
  • Web前端开发实训案例教程(初级)素材

    素材下载地址 Web前端开发实训案例教程 初级 素材 内容简介 本书是按照 Web前端开发职业技能等级标准 编写的配套实践教程 其中涉及的应用技术专题和项目代码均在主流浏览器中运行通过 本书结合大学计算机相关专业Web前端开发方向课程体系
  • windows下用cygwin编译android版ijkplayer

    1 环境搭建 1 1 安装cygwin 并安装git make ysam 具体安装过程网上有很多资料 不再详述 1 2 android sdk和android ndk下载和安装 参见网上资料 1 3 下载ijkplayer源码 git cl
  • 【StyleGAN补充材料】 A Style-Based Generator Architecture for Generative Adversarial Networks

    Supplemental Material A Style Based Generator Architecture for Generative Adversarial Networks 一 前言 1 Hyperparameters an
  • latex解决×叉符号(乘符号)如何打

    简单实用 直接取走 times times
  • 抽样技术--不等概率抽样

    文章目录 不等概抽样 放回不等概抽样 只抽取一个样本单元的不等概抽样 估计量 有放回不等概整群抽样 两阶段有放回不等概抽样 多阶段有放回不等概抽样 不放回不等概抽样 两阶段不放回不等概抽样 不等概抽样 提高估计精度 放回的PPS抽样简化方差
  • 无重复字符的最长字串

    给定一个字符串 s 请你找出其中不含有重复字符的 最长子串 的长度 示例 1 输入 s abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 s bbbbb 输出 1 解释 因为无重复字符的
  • Zabbix监控服务详解+实战

    目录 一 监控体系概述 1 为什么需要监控 2 监控目标与流程 1 监控的目标 2 监控的流程 3 监控的对象 1 CPU监控 2 磁盘监控 3 内存监控 4 网络监控 5 系统重要进程监控 6 应用服务监控 7 硬件设备监控 8 安全监控
  • 【elasticsearch】memory locking requested for elasticsearch process but memory is not locked

    解决方法 开启bootstrap memory lock 修改文件 etc elasticsearch elasticsearch yml 上面那个报错就是开启后产生的 如果开启还要修改其它系统配置文件 bootstrap memory l
  • 【并发编程】Python多线程、多进程、多协程入门篇

    文章目录 1 基础概念 2 并发编程如何选择 2 1 CPU IO密集型计算 2 2 多线程 多进程 多协程对比 3 Python运行速度根因分析 3 1 速度慢两大原因 3 1 GIL 4 多线程 4 1 Python多线程基础爬虫 4
  • k8s ingress详解(1)

    ingress 是除了 hostport nodeport clusterIP以及云环境专有的负载均衡器外的访问方式 官方提供了Nginx ingress controller 通常情况下 service和pod的IP可以被集群网络访问 外
  • windows driver双机调试环境搭建,用windbg或者debug view查看内核调试输出

    本地环境 本地开发环境 win 10 visual studio installer 2022版 visual studio 2022 VMware player 目的 本地环境作为开发环境 VM作为测试和调试环境 用debug view查
  • PCB天线设计

    PCB天线概述 什么是PCB天线 顾名思义 就是在PCB上印制了一根走线 可以将其画成直线走线 反转的F形走线 蛇形或圆形走线等 长度为四分之一波长就基本可以形成天线 将电信号辐射出去或接收信号 设计指标 在上一期文章 深入解读无线通信中的
  • 二叉树建立

    结束二叉树输入 如何结束创建二叉树的输入那 把二叉树补全 前序 输入 AB C 中序 B A C 后序 B CA 输出结果如下 代码如下 include
  • 前端性能优化:7.页面渲染优化

    本文将主要关注浏览器获取到资源后 进行渲染部分的相关优化内容 7 1 页面渲染性能 页面渲染阶段对性能体验的应i昂与资源加载阶段同样重要 而对于设计高交互频次的应用来说可能更加重要 本节将整个渲染过程划分为五个串行阶段进行概述 优化渲染的实
  • 大众点评校招助理产品经理-笔试题分析(下)

    针对大众点评网的任何一个产品的一个需要改进的点 信息 数据或功能体验都行 给出你的分析和改进规划 希望尽可能的全面 深入 详细 1 改进产品版本与使用机型 使用版本 大众点评Android客户端V5 2版本 机型 HTC Desire HD
  • memset in C++ and C

    definition memset是计算机中C C 语言函数 将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值 第一个值为指定的内存地址 块的大小由第三个参数指定 这个函数通常为新申请的内存做初始化工作 其返回值