我想知道如何通过像这样的指针访问3D中的多维行:
int ccc[8][7][2] = ....;
for(int i=0;i<8;i++)
{
int** cc_i = ccc[i];
for(int j=0;j<7;j++)
{
int* c_j = cc_i[j];
int th0 = c_j[0];
int th1 = c_j[0];
}
}
答案 0 :(得分:1)
你不能,因为指向指针的指针与数组数组不同。内存中的布局完全不同。
然而,您可以申报cc_i
作为指向数组的指针,如
int (*cc_i)[2] = ccc[i];
答案 1 :(得分:0)
喜欢这个
int ccc[8][7][2] = ....;
for(int i=0;i<8;i++)
{
int (*cc_i)[2] = ccc[i];
for(int j=0;j<7;j++)
{
int *c_j = cc_i[j];
int th0 = c_j[0];
int th1 = c_j[0];
}
}