如何使用 void 通用指针用值填充数组?

2023-12-20

给出以下方法

void fillArray(void *arr, int const numElements, void *val, int size)

如何填充数组(*arr) 的值为 (*val)不知道数组是什么类型?numElements是数组中元素的数量,大小是数组类型的字节大小。


您可以使用memcpy为了那个原因。但是,为了前进内存位置,您必须将输入指针转换为char*第一的。如果你有void*,未定义指针算术运算。

void fillArray(void *arr, int const numElements, void *val, int size)
{
   char* cp = arr;
   int i = 0;
   for ( ; i < numElements; ++i, cp += size )
   {
      memcpy(cp, val, size);
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 void 通用指针用值填充数组? 的相关文章

随机推荐

  • 如何在c中使用fread()读取结构体的内容

    我有以下代码 我试图读取文件的内容并显示它并写入另一个文件 我的问题是我在屏幕上看到的内容与文件的内容完全不同 我已经把文件的部分内容和显示的结果的部分 include
  • CDN 库在 Chrome 中被屏蔽

    我在网站上使用传单 OSM 制作小地图 该网站本身可通过 HTTPS 访问 而传单库 据我所知 只能通过 HTTP 连接检索 现在 Chrome 不包含该库 并在控制台中显示以下消息 blocked The page at https ex
  • VBA计算数组的非空元素

    菜鸟问题 我想计算数组的非空元素 我的尝试 Dim Arr 1 To 15 As Double populating some of the elements of Arr Dim nonEmptyElements As Integer i
  • Android 中的 AdMob“AdView 缺少必需的 XML 属性‘adSize’”

    我正在尝试在我的应用程序中实施 AdMob 但不知道它以某种方式显示此错误 并且我的 R java 文件因此没有生成 我已经尝试了所有方法来解决这个问题 例如 Clean Build Build All 但非对我有用 按照我的代码片段 其中
  • 自定义类型作为主键

    我目前正在 Visual Studio 2015 上使用 EF6 代码优先 我正在开发一个数据库 我想使用用户定义的类型作为主键 这是我想要的一个简单示例 public class ObjectIdType public string id
  • 如何使用Python向Oracle数据库插入100万行?

    我有大约 100 000 到 1 000 000 行要插入到 Oracle18c 数据库中 我对 Oracle 和这种数量级的数据还很陌生 我认为必须有一些最佳的方法来做到这一点 但现在我只能实现逐行插入 def insertLines c
  • Firefox ~84 中的“Paint Flashing Tool”在哪里?

    许多较旧的博客文章和MDN 文档 https developer mozilla org en US docs Tools Paint Flashing Tool值得一提的是 Firefox 有一个调试工具可以突出显示绘制的区域 我运行的是
  • Inverse glob - 根据文件名对通配符字符串进行逆向工程

    我想从一对文件名生成通配符字符串 有点像逆全局 例子 file1 some foo file txt file2 some bar file txt assert some file txt inverse glob file1 file2
  • 旋转到横向时 iPhone 视图控制器视图向下移动 20 像素

    我正在尝试使用 UIViewController 和 UITabBar 实现自定义 tabbarcontroller 到目前为止 一切工作正常 除了当我将设备旋转到横向时 UIViewController 将整个视图向下移动 20 像素 在
  • 如何使用 Yesod 和 Http-Conduit 将 FileInfo 发布到 Web 服务?

    我正在使用默认的 Yesod 脚手架项目 我创建了一个页面 显示一个简单的表单来上传文件 该表单可能会使用 Javascript 在客户端上创建 为简洁起见 该表单有一个文件输入
  • Jest setSystemTime 不适用于全局范围

    我正在尝试测试一个简单的减速器 其日期属性设置为今天 const today new Date export const initialState today console log new Date toDateString lt rea
  • CUDA 工具包 5 生产版本和 Visual Studio 2010 集成

    在没有 NVidia CUDA 论坛的情况下 有人知道如何解决这个问题吗 看来VS集成CUDA工具包有问题 我刚刚安装了 CUDA 工具包 5 的生产发行版 适用于 Windows 7 笔记本电脑的 32 位 替换了候选发行版 效果很好 现
  • 如何在调试模式下在浏览器中动态修改 JavaScript 代码? [复制]

    这个问题在这里已经有答案了 我想使用一些 IDE 它允许我动态更改 javaScript 代码并在浏览器中运行它 我不认为我可以在 Firebug 中做到这一点 我应该使用哪种 IDE 软件来进行 JavaScript 开发 是的 您可以在
  • Minikube 网络

    我有一台 Linux 构建机器 我也安装了 minikube 在 minikube 实例中 我安装了artifactory 我将使用它来存储各种构建工件 我现在希望能够在我的开发机器 这是一台与 Linux 构建机器位于同一网络上的不相关的
  • sql 根据条件选择最小值或最大值

    大家好 我正在尝试找到一种根据以下条件从一系列数据中选择最小值或最大值的方法 如果 setuptime 和 processtime cols 均为 0 则选择 MIN oprNum 操作尚未开始 因此获取第一个 oprnum 如果 setu
  • Mongodb/Mongoid - {:multi => true} 是什么意思

    关于这个问题 使用 Mongoid 我可以 update all 将值一次推送到多个条目的数组字段上吗 https stackoverflow com questions 9637728 with mongoid can i update
  • 非左值数组和序列点限制

    在 ISO C99 中 不是左值的数组仍会衰减为指针 并且可能带有下标 尽管它们在下一个序列点之后可能不会被修改或使用 source https gcc gnu org onlinedocs gcc Subscripting html 据我
  • 将本机库添加到 APK

    我正在开发一个使用本机代码的 Android 应用程序 我需要在每次构建时将外部本机库添加到 APK 的 lib 文件夹中 我怎样才能做到这一点 Thanks 将库放在本机库路径中 默认为项目文件夹中的 libs 如果您为 armeabi
  • 如何在 arangodb 的 AQL 中引用/转义字段名称?

    我找不到在哪里引用其中包含空格的字段名称 例如在执行时 FILTER s key a Supplier Id 上面的 sql 样式引用不起作用 数组访问也不起作用 正确的方法是什么 现在明白了 我被 SQL 咬住了 忘记了相等比较是用 在
  • 如何使用 void 通用指针用值填充数组?

    给出以下方法 void fillArray void arr int const numElements void val int size 如何填充数组 arr 的值为 val 不知道数组是什么类型 numElements是数组中元素的数