gpt4 book ai didi

c - 三维数组在内存中是如何存储的?

转载 作者:行者123 更新时间:2023-11-30 15:37:44 28 4
gpt4 key购买 nike

三维数组在内存中是如何存储的?

例如,二维数组是按行和列存储的d[行][列];对于三个一维数组 d[?][?][?] 元素在 c 中是如何排列的?

最佳答案

可能的重复:How are multi-dimensional arrays formatted in memory?

多维数组在内存中连续排列,而不是按行和列排列。

例如。如果你有

Array[5][2]={{0,1},{2,3},{4,5},{6,7},{8,9}};

它将在内存中存储为:

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

而不是:

| 0 | 1 | 
| 2 | 3 |
| 4 | 5 |
| 6 | 7 |
| 8 | 9 |

3D 数组本质上是 2D 数组的数组:即

Array[2][5][2]= Array_1[5][2], Array_2[5][2]

如果

Array_1[5][2]={{0,1},{2,3},{4,5},{6,7},{8,9}};

Array_2[5][2]={{10,11},{12,13},{14,15},{16,17},{18,19}};

因此,在内存中,这个 3D 数组将布局为:

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |

关于c - 三维数组在内存中是如何存储的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22110663/

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