>>21
int (*pp)[10] = (int (*)[10])malloc(20 * 10 * sizeof(int));
じゃ駄目なのかと。