When you assign a string literal such as "ABC" to char a[] ex.
char a[] = "ABC";
it has the effect of doing
char a[4] = {'A','B','C','0'};
does this same thing apply when you pass it to a function parameter
ex.
int f(char a[]);
vs.
int f(char *a);
"ABC"is achar [4]not achar [3]