gpt4 book ai didi

从 C 中的 3D 指针/数组调用 2D 指针/数组

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:09 27 4
gpt4 key购买 nike

对于每个时间步长,我都有一个二维矩阵 a[ix][iz]ix0 nx-1iz0nz-1

为了组装所有时间步长的矩阵,我定义了一个长度为 nx*nz*nt 的 3D 指针 ***b。在 it 时刻,矩阵可以用 b[ix][iz][it] 表示,其中 ix 不同于 0nx-1iz0nz-1

在时间循环中,我必须在 it 时间将二维数组/指针传递给函数 void func(**ptr)。因为b是一个3D指针/数组,在主代码中怎么调用呢?像 func(b[it]); 吗?

最佳答案

您可以将矩阵重组为 b[it][ix][iz] 而不是 b[ix][iz][it]。这样,您将拥有一个二维矩阵数组,允许您使用 b[it] 在任何给定时间步传递二维矩阵。

否则,如果您保持矩阵不变,则必须在 it 时构造二维数组,然后将其传递给 func() - 那是您可以通过重构 3D 矩阵来避免额外的计算。

关于从 C 中的 3D 指针/数组调用 2D 指针/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51108692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com