A World Beyond 64 Bits?
The future will undoubtedly bring a further increase in processor sizes beyond 64 bits. When this happens, it's likely that the value of PTRDIFF_MAX may well look a little quaint! With this possibility in mind, it probably makes sense to create a specific user-defined type (for example, in one of your header files) for all array-access code. Then, just use this single type for all arrays. This type can be changed in the future, for the next processor size increase.