const declarations and arrays

It doesn't help because he wants to make clear that the array is an array, and hence cannot be changed in foo(), whereas the elements of the array are int variables that _can_ be changed in foo(). Both suggested prototypes declare functions that take pointers to "const int", not "const" pointers to "int".