Cで
int a[n][2]という配列を作りたいのですが、

int **a;
a = (int *)malloc(n * sizeof(int *));
for(i = 0; i < n; i++){
 a[i] = (int *)malloc(2 * sizeof(int));
}

でいいのでしょうか?