我编码的一个简单函数发生分段错误错误[关闭]

2023-12-01

这里我只想定义一个返回矩阵乘法的函数,其中N任意,我想生成一个矩阵new命令。当我执行该函数时,出现错误:

Segmentation fault (core dumped)

每当我赋值给C我遇到了这个错误,有人可以告诉我发生了什么以及如何解决它吗?

int **multiply(int **A, int **B, int N){
    int **C = new int*[N];
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            for (int k = 0; k < N; k++)
                C[i][j] = C[i][j] + A[i][k] * B[k][j];
        }
    }
    return (C);
}

将矩阵作为指针的指针并不是一个好主意。为了正确地做到这一点,你需要一个相当复杂的:

int **C = new int*[N];
for(int i = 0; i < N; ++ i)
    C[i] = new int[M];

释放它也是一个同样复杂的过程。还要考虑一下如果其中之一会发生什么operator new失败并且您想要释放部分分配的矩阵。

将二维数组存储在一维数组中是一种约定。你可以做:

int *C = new int[M * N];

然后元素的访问方式如下:

C_ij = C[i + N * j];

or as:

C_ij = C[j + M * i];

Where i is in [0, N)间隔和j is in [0 to M)间隔。这些实际上与编译器生成对恒定大小的二维数组的访问的方式非常相似(因此乘法实际上成本并不太高,并且在考虑缓存时,整个过程可能比数组的数组快得多)。上面两行之间的区别在于,一行是列优先(当展开到一维时,列的元素是连续的项)或交替行优先。这是一个约定俗成的问题。默认的“C”数组将以行优先。一些库,例如 OpenGL 或 Eigen 使用列专业。

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

我编码的一个简单函数发生分段错误错误[关闭] 的相关文章

随机推荐

  • 如何在flutter图表中显示json数据

    我对 flutter 还很陌生 我一直在尝试在条形图中显示来自 http 请求的一些数据 我找不到任何这方面的例子 我希望你们中的一些人能够提供帮助 我想用这个Chart来自在线画廊 我刚刚更改了我的应用程序的类名称 import pack
  • Sitecore 站点/项目发布在初始化时挂起

    我们的核心数据库出现问题 该数据库已由前一天的备份数据库恢复 之后 该网站工作正常 但我们在发布任何更改时遇到问题 一旦点击发布按钮 发布正在初始化 消息就会持续很长时间 截至 发布开始 结束 的事件日志中也未捕获到这一点 因此 当我们尝试
  • 如何重新启用 event.preventDefault?

    我有一个网页 已阻止所有提交按钮上的默认操作 但是我想重新启用按钮上的默认提交操作 我该如何执行此操作 我目前正在使用以下方法阻止默认操作 form bind submit function e e preventDefault 我已经使用
  • Android SwitchCompat风格

    我在我的新设备上使用 Android 5 1 1 测试了我的应用程序 在我的 SettingsActivity 中我有一个开关 我已经阅读了一些帖子并将其更改为android support v7 widget SwitchCompat但问
  • C中父进程向子进程发送信号

    我的子进程无法开始工作 我需要传递信号并执行readUsual功能 这是一小段代码 int main pid t pid2 fork if pid2 lt 0 printf Can t create child process n else
  • Julia 变量范围

    我试图在 while 循环中使用一些全局变量 m n r 但 Julia 1 0 0 告诉我这些变量未定义 该代码适用于 julia 0 7 0 但有一些警告 这是我正在使用的代码 是的 写得不好 我希望这不是问题 我删除了一个printl
  • Zend 框架和 Wordpress 集成

    这是我的问题 我有 require once application bootstrap php 在我的 zf 网站根文件夹中的 index php 中 我将 WordPress 博客放入 public html blog 中 我需要将 W
  • 在 Java Applet 中单击后 JButton“保持按下状态”

    我的 Java Applet 中有一个 JButton 按下按钮后 ActionListener 必须执行大量操作 因此 正因为如此 当用户单击按钮时 它会 保持按下 一段时间 有时甚至 5 分钟 而不是立即禁用自身 它会在这 5 分钟后自
  • 谷歌云存储访问的公共URL被拒绝

    我有这个 URL 但访问被拒绝 需要任何权限 https storage googleapis com BUCKET Artboard 4 png 出现此错误 匿名调用者没有 storage objects get 访问 Google Cl
  • 从所有子集中恢复原始数组

    给定一个数组的所有子集和 然后 您应该从提供的子集和中恢复原始数组 原始数组中的每个元素都保证为非负且小于 10 5 原始数组中的元素不超过 20 个 原数组也已排序 保证输入有效 实施例1 如果提供的子集总和是这样的 0 1 5 6 6
  • Microsoft CryptoAPI:如何将 PUBLICKEYBLOB 转换为 DER/PEM?

    我有一个生成的 RSA 密钥对 存储为 PRIVATEKEYBLOB 和 PUBLICKEYBLOB 并且我需要能够将这些密钥转换为 DER 或 PEM 格式 以便我可以在 PHP 或 Python 中使用它 我发现我可以使用 CryptE
  • Pymongo forEach 格式化

    如何格式化 forEach 函数 使其可以驻留在多行上而不会导致语法错误 就像是 self request db myCollection find forEach function u u forSong self request db
  • 带 + 和 - 的 WPF 扩展器按钮样式

    样式专家 我需要帮助设计一种类似于 Visual Studio 代码编辑器中的 Expander 样式 到目前为止 我已经想出了这个
  • 我的 Visual Studio 2012 中的行号旁边出现了彩色条

    今天 当我在工作中启动 Visual Studio 2012 时 我发现了一些新的彩色条 我们通过 RDP 在共享远程服务器上工作 所以我四处询问是否有人安装或更新了任何东西 似乎没有人做过 任何事 我看到的酒吧有 我知道最左边的条 绿色和
  • 将 python 中的单个有序列表转换为字典

    我似乎无法找到一种优雅的方式来开始t并导致s gt gt gt t a 2 b 3 c 4 magic gt gt gt print s a 2 c 4 b 3 我想出的解决方案似乎不太优雅 s dict for i in xrange 0
  • 无法从前端解析 docker compose 服务名称

    您好 我是使用 docker 进行开发的新手 我试图在这里从前端 react 到后端 express js 进行通信 我也启用了 cors 但收到错误消息net ERR NAME NOT RESOLVED当尝试使用 url 从后端获取时ht
  • java.net.BindException:无法分配请求的地址

    我想在我的应用程序中使用低端口 Spring web Tomcat7 上的 SNMP 陷阱接收器 正如我在这个线程中所说的Ubuntu服务器上Java程序绑定低端口 之前 我收到错误 Permission Denied 然后我将tomcat
  • 如何在不按uiimagepickercontroller上的拍照按钮的情况下自动拍照?

    在我的项目中 我需要每隔一分钟自动拍照一次 但我找不到任何解决方案 这是我实现的代码 但它不起作用 我使用 NSTimer 调用相机每 4 秒拍照一次 我只需要拍照 This method is all for the time setup
  • Oracle 中的并发性比 SQL Server 更好吗?

    Oracle 数据库是否能够比 MS SQL Server 数据库实现更好的并发性 特别是在 OLTP 场景中 例如 ERP 系统 我无意中听到一位 SAP 顾问提出了这样的说法 他提到了 Oracle 锁定技术 例如行锁定和多版本读取一致
  • 我编码的一个简单函数发生分段错误错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 这里我只想定义一个返回矩阵乘法的函数 其中N任意 我想生成一个矩阵new命令 当我执行该函数时 出现错误 Segmentation fault core dumped 每当我