gpt4 book ai didi

c - 将二维数组映射到一维数组

转载 作者:太空狗 更新时间:2023-10-29 16:15:39 25 4
gpt4 key购买 nike

我想用一维数组表示一个二维数组。函数将传递两个索引 (x,y) 和要存储的值。这两个指标将代表一维数组的单个元素,并相应地设置它。我知道一维数组的大小需要为 arrayWidth × arrayHeight,但我不知道如何设置每个元素。

例如,我如何区分 (2,4,3) 和 (4,2,3)?我尝试将数组设置为 x*y,但 2*4 和 4*2 会导致数组中的相同位置,我需要它们不同。

最佳答案

您需要决定数组元素是按行顺序还是列顺序存储,然后保持一致。 http://en.wikipedia.org/wiki/Row-major_order

C语言对多维数组使用行序

要用一维数组模拟这一点,您将行索引乘以宽度,然后添加列索引:

 int array[width * height];

int SetElement(int row, int col, int value)
{
array[width * row + col] = value;
}

关于c - 将二维数组映射到一维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2151084/

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