I do not understand array decay in C..it seems selective While I pass B[2][3] 2D Array in a function pointer decay is expected.