从一维数组创建二维数组

2023-12-30

如果我有多个相同数据类型的数组,将它们全部复制到二维数组中的最佳方法是什么。例如

int array1[] = {1,2,3,4,5,6,7,8,9,10};
int array2[] = {9,8,7,6,5,4,3,2,1,0};

int array2d[][];
//pseudo code array2d = array1 + array2

so that

array2d[0][0]; //=1 (first member of array1)
array2d[1][0]; //=9 (first member of array2)

考虑到数组只是指向第一个元素的指针,我认为我可以这样做,但它会产生编译器错误。

array2d[0][0] = array1;
array2d[1][0] = array2;

我猜我无法使用引用进行复制,因为数组需要其条目位于连续内存中?有没有像 memset 这样的函数我可以使用?


不可能的。您需要将一个数组中的元素逐个复制到另一个数组。

您还可以使用指向整数数组的指针数组来模拟二维数组。

int array1[] = {1,2,3,4,5,6,7,8,9,10};
int array2[] = {9,8,7,6,5,4,3,2,1,0};

int *array2d[2]; 

array2d[0] = array1;
array2d[1] = array2;

or this

int array1[] = {1,2,3,4,5,6,7,8,9,10};
int array2[] = {9,8,7,6,5,4,3,2,1,0};

int *array2d[] = {array1, array2}; 

cout << "[0][0]=" << array2d[0][0] << endl;
cout << "[1][0]=" << array2d[1][0] << endl;

或相反

如果您的目标是将二维数组呈现给某些 API,那么您应该重构您的一侧。例如,您可以用指针模拟一维数组:

// an ampty array
int array2d[2][10];

// pointers to parts
int *array1 = array2d[0];
int *array2 = array2d[1];

int n;

// fill "arrays"
for(int i=0, n=1; i<10; ++i, ++n) {
    array1[i] = n;
}
for(int i=0, n=9; i<10; ++i, --n) {
    array2[i] = n;
}

// now you are ready
cout << "[0][0]=" << array2d[0][0] << endl;
cout << "[1][0]=" << array2d[1][0] << endl;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从一维数组创建二维数组 的相关文章

随机推荐

  • chrome.storage.sync 与 chrome.storage.local

    我试图了解如何使用 chrome storage api 我已将以下内容包含在我的manifest json permissions activeTab storage 然后 我使用开发工具打开了一个新选项卡并切换了
  • s3文件上传不返回响应

    我正在使用 Node AWS SDK 将文件上传到现有的 S3 存储桶 使用下面的代码 文件最终上传 但似乎有几次没有返回状态代码 另外 当文件成功上传时 return 语句不会执行 Code exports create function
  • Sharepreference来存储int值

    I have intvalue 我希望当我们单击警报对话框的正或负按钮时它会增加 1 并且即使用户关闭应用程序也存储 int 值 我已经完成了这些 但我不知道为什么这不起作用 int counter 在 oncreate 中 initA p
  • Google GMail API 服务帐户可列出多个帐户的电子邮件

    我正在开发一个 CRM 应用程序 其中所有员工用户都有一个位于同一域下的 GMail 帐户 我是这个域的管理员 之前 我使用 IMAP 对 CRM 中的所有 GMail 用户进行自定义访问 以便获取他们发送和接收的所有电子邮件 为此 我询问
  • 通过 VBA 在 Outlook 内部浏览器中打开网站

    我正在寻找通过 VBA 打开给定的网页 我可以使用以下方法来做到这一点 Set browser CreateObject InternetExplorer Application browser Navigate http google c
  • D3 中的饼图(甜甜圈)图段顺序

    我有一个使用 d3 和 jQuery 滑块构建的圆环图 允许用户在不同的数据点之间进行选择 该图表动画显示了数据值之间的过渡 一切都很好 问题 这些段始终按逆时针大小顺序渲染 从最大到最小 这意味着分段根据其大小在图表中切换其位置 这种行为
  • 您可以使用什么来让应用程序能够接收 SMS 消息?

    您需要使用某种提供商吗 您可以设置自己的短信服务器吗 是否存在任何开源解决方案 我是短信新手 所以任何关于如何实现这一点的见解都会很棒 我偏爱 Java 但任何语言都可以 这很容易 是的 您需要一个 短信网关 提供商 那里有很多 这些公司提
  • jsTree如何更改ajax url并重新加载数据

    jstree demo div2 jstree core data url tree ashx id id dataType json needed only if you do not supply JSON headers checkb
  • iTunes Connect - 总安装量与已安装该应用程序的当前设备的比较

    我如何知道或计算 iOS 应用程序的总安装量与安装该应用程序的当前设备的比较 我有总计单位 据我所知 这是总安装数 而不是现在有多少设备拥有我的应用程序 您可以使用第三方框架获取有关应用程序统计信息的更多详细信息 例如Flurry http
  • “模板只能与字段访问、属性访问、一维数组索引或单参数自定义索引器表达式一起使用”错误

    为什么我收到错误 模板只能与字段访问 属性访问 一维数组索引或单参数自定义索引器表达式一起使用 在这段代码中 model IEnumerable
  • 如何在 R 中进行词形还原?

    这个问题可能是重复的R 或 python 中的词形还原器 am are is gt be https stackoverflow com questions 22993796 lemmatizer in r or python am are
  • 显示 xml 而不是站点

    我正在学习谷歌云 所以我尝试使用存储服务在那里部署我的反应应用程序 为此 我创建了一个名为 Travelfrontend 的存储桶 并从使用时生成的构建文件夹上传了文件和文件夹yarn build 我没有任何域名 所以我尝试从https s
  • 将 jwt 令牌发送到 wif wcf 服务

    我在向 wcf 服务发送 jwt 令牌时遇到问题 遵循了这个 它几乎有效 将 JWT SecurityToken 传递给 WCF 客户端 https stackoverflow com questions 16312907 deliveri
  • 在 VsCode 中将 () 替换为 {} 最有效的方法是什么?

    我正在使用 Visual Studio Code 经常发现自己必须替换括号 code 带大括号 code
  • Visual Studio 2013 发布失败超出最大连接数

    我正在使用 VS Express 2013 for Web 进行发布 在发布时其中一个 dll 上出现套接字错误 现在我根本无法发布 我收到一条 VS 错误 指出已超出此站点的最大连接数 了解更多信息 http go microsoft c
  • Mysql 返回子句等效

    我是 MySql 的新手 所以请温柔一点 是否有相当于RETURNINGOracle 中的子句或Inserted DeletedMySQL 中 SQL Server 中的表 我想做的是 从表 A 中删除一组行 将删除的行集插入表 B 中 请
  • SQL Server 视图中的模拟?

    是否可以通过模拟创建视图 类似于 execute as 在存储过程中 我想在单独的模式中创建一些视图 一些用户应该得到SELECT and UPDATE访问这些视图 以便它们能够更改基础表 但无需直接更新表 有观点可能吗 不 这是不可能的
  • 集成express.js应用程序和docpad

    我一直在使用 docpad 预先生成前端 html js 应用程序 使用docpad generate env static 经过几次挂断和 balupton 的错误修复后 它现在工作得很好 并节省了我很多时间 我只是将这些文件复制到现有的
  • 根据产品类型向产品价格添加自定义文本标签

    我有一个小问题还无法解决 我有这个WooCommerce 网站 http www wholesaleunderwear co product men s crew sport sock w logo 具有可变产品 目前价格显示方式如下 每打
  • 从一维数组创建二维数组

    如果我有多个相同数据类型的数组 将它们全部复制到二维数组中的最佳方法是什么 例如 int array1 1 2 3 4 5 6 7 8 9 10 int array2 9 8 7 6 5 4 3 2 1 0 int array2d pseu