Я переношу некоторый код на C++ в ActionScript 3, и у меня был небольшой вопрос, о котором я смущен.Указатель на C++ 2D Array
В одной функции один из параметров: 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)));
}
Будьте осторожны: initPtr выделяется как массив неподписанных целых чисел, но к нему обращаются как шорты через my2DArray. –