Let me explain with an example -
#include void foo( int a[2], int b[2] ) // I understand that, compiler doesn\'t bother about the
You answered your own question.
Because these
int a[] = { 1,2 }; int b[] = { 3,4 };
have type of int[2]. But these
int[2]
void foo( int a[2], int b[2] )
have type of int*.
int*
You can copy pointers but cannot copy arrays.