>>642
GCCでコンパイルしてみて実行してみたが
問題なく動いたぞ。
main(void){

int **p;
p = foo(2, 4);
p[0][1] = 5;
printf("%d", p[0][1]);
}
無事5と表示された。