- (int **)board:(Piece *)piece
{
int **layout = malloc(8 * sizeof(int *));
for(int i=0; i<8; i++)
layout[i] = malloc(8 * sizeof(int));
return layout;
}
Не забудьте в конце освободить память. Кроме того, вы также можете использовать одномерный массив и что-то подобное для доступа к нему аналогичным образом:
#define access(array, x, y) array[y * 8 + x]
В Objective-C теперь также есть класс многомерных массивов, но вы можете создать NSArray
с другими NSArray
внутри него или в Google, если это сделал кто-то другой (я помню в хотя бы одна реализация, но не может вспомнить ее название)