8.6.2. Nonconstant Pointer to Constant Data
A nonconstant pointer to constant data is a pointer that can be modified to point to any data item of the appropriate type, but the data to which it points cannot be modified through that pointer. Such a pointer might be used to receive a built-in array argument to a function that should be allowed to read the elements, but not modify them. Any attempt to modify the data in the function results in a compilation error. The declaration for such a pointer places
const to the left of the pointer’s type, as in
const int *countPtr;
The declaration is read from right to left as “
countPtr is a pointer to an integer constant” or more precisely, “
countPtr is a non-constant pointer to an integer constant.