使用指针访问3D数组的元素

时间:2012-08-30 18:29:46

标签: c++ pointers multidimensional-array

我有一个像这样声明的3D数组

unsigned char   ScalingList[3][2][64];

我需要使用另一个指针来访问ScalingLists的元素,这些就是这些行

unsigned char (*pQM)[2][64];
pQM = &(ScalingList[0][0][0]);

然后像这样

索引到ScalingList的元素
pQM[i][j][k]

我知道我需要正确组合(),*和&,但我无法得到它。有人可以帮帮我..

1 个答案:

答案 0 :(得分:1)

你发布的内容对我来说非常接近完美。我能发现的唯一问题是该行中的类型不匹配:

pQM = &(ScalingList[0][0][0]);

所写的rhs的类型为unsigned char *。

尝试改为:

pQM = ScalingList;

第一个维度将衰减为指向第一个元素的指针 - 一个正确大小的二维数组。