const int N = 10;
int M = 5;
unsigned char (*p)[N] = new unsigned char[M][N];
Указатель на массив из N элементов, каждый из которых является массивом из 5 элементов.
Это правильно?
Далее: тип выражения при разыменовании *p будет массив из 5 элементов. Или как-то иначе?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!