int i, *p, *pp;
pp = (int**)mallc(20 * sizeof(int*) + 20 * 10 * sizeof(int));
p = (int*)((char*)pp + 20 * sizeof(int*));
for(i = 0; i < 20; i++) pp[i] = &p[i * 10];
/*これで pp はint pp[20][10]のような配列のように使える*/
free(pp);