Read it backwards (as driven by Clockwise/Spiral Rule):
int*– pointer to intint const *– pointer to const intint * const– const pointer to intint const * const– const pointer to const int
Now the first const can be on either side of the type so:
const int *==int const *const int * const==int const * const
If you want to go really crazy you can do things like this:
int **– pointer to pointer to intint ** const– a const pointer to a pointer to an intint * const *– a pointer to a const pointer to an intint const **– a pointer to a pointer to a const intint * const * const– a const pointer to a const pointer to an int