我正在将一些C ++代码移植到Actionscript 3,只是有一个让我感到困惑的小问题。
在一项功能中,参数之一是int* myPtr
。 myPtr是2D数组&my2DArray[x][y]
的元素的地址。 x和y也是函数的参数。我只是对代码访问时正在访问的内容(例如myPtr[1]
)感到困惑。我认为这将是my2dArray
中的下一个元素,但是我不确定这是my2DArray[x+1][y]
还是my2DArray[x][y+1]
。谢谢你的帮助。
附加信息:
my2DArray由以下人员创建:
//initPtr is a int*, auxPtr is a int*, as is temp1
initPtr = (unsigned int *)NewPtr(
sizeof(unsigned int) *
X * Y);
}
auxPtr = initPtr ;
for (i = 0; i < X; i++) {
temp1 = auxPtr + i * Y;
my2DArray[i] = (short *)temp1;
}
unsigned char* NewPtr(
int size)
{
return ((unsigned char*)calloc(size, sizeof(unsigned char)));
}
最佳答案
这将是my2DArray[x][y+1]
。 C ++对多维数组索引使用行优先顺序。这意味着内存的大跳转是最左侧索引的更改,而单个元素跳转是最右侧索引的更改。