When you create the multi-dimensional array char a[10][10]
, according to my book it says you must use a parameter similar to char a[][10]
to pass the array to a function.
Why must you specify the length as such? Aren't you just passing a double pointer to being with, and doesn't that double pointer already point to allocated memory? So why couldn't the parameter be char **a
? Are you reallocating any new memory by supplying the second 10.