Secondly, you have a type mismatch; except when it is the operand of the sizeof or unary & operators, or is a string literal being used to initialize another array in a declaration, an expression of type N-element array of T will be converted to an expression of type pointer to T, and the value of the expression will be the address of the first element;