A.a[2][0] B.a[2][1] C.a[2][2] D.a[2][3]
A.x=p; B.x=&p; C.x=&y; D.x=*p;
A.int fun(int x, int y); B.int fun(int x,y); C.int fun(x,y); D.int fun(int x; int y);