A formal parameter like type parm[]; is fully equivalent to type *parm; since you cannot pass arrays as actual arguments (only pointers to them). Compilers that are careful about lvalues treat both cases of `parm' as lvalues.