Как сделать указатель на двумерный массив указателей в c++?
Допустим у меня есть массив указателей:
int *arr[8][8];
Как мне объявить указатель на этот массив?
Ответы (3 шт):
Автор решения: HolyBlackCat
→ Ссылка
Указатель на целый массив вот так: int *(*ptr)[8][8];. Здесь тот же принцип, что и в приоритетах операторов: сначала применяются штуки справа от имени, а потом слева; если это не изменяется скобками.
ptr // ptr - это
*ptr // указатель на
(*ptr) // ...
(*ptr)[8] // массив из 8
(*ptr)[8][8] // массивов из 8
*(*ptr)[8][8] // указателей на
int *(*ptr)[8][8] // int
Если нужен указатель на один элемент массива (один подмассив), а не на весь, то убрать одну [8].
Автор решения: user7860670
→ Ссылка
using t_MyArray = int * [8][8];
t_MyArray arr;
t_MyArray * p_arr;
Автор решения: Harry
→ Ссылка
Ну раз уже два варианта есть... Бог любит Троицу :)
typedef int* array[8][8];
array * ptr;
Кстати, в помощь см. тут.