Так как target-c является строгим надмножеством c, вы можете просто использовать определение чистого c, и оно будет работать нормально:
char** myMatrix = malloc(width*height);
Вы также можете использовать NSArray из NSArrays, но это не двумерный массив. Это зубчатый массив, который значительно проще в использовании, чем простой байтовый массив.
Другой альтернативой является использование объекта NSData / NSMutableData. Это основной способ работы с байтовыми массивами. См. Ссылка на класс NSMutableData для получения дополнительной информации.
NSMutableData* data = [NSMutableData dataWithLength:1024]; // One kilobyte
void* dataPointer = [data mutableBytes]; // Get a pointer to the raw bytes