22.7 Arrays and Pointers

Implementation-Defined Behavior for Arrays and Pointers is covered in section G.3.7 of the ANSI C Standard.

What is the type of the integer required to hold the maximum size of an array, that is, the type of the sizeof operator, size_t ? (ISO 6.3.3.4, ISO 7.1.1)

unsigned int.

What is the size of integer required for a pointer to be converted to an integral type? (ISO 6.3.4)

32 bits for PIC32A devices.

What is the result of casting a pointer to an integer, or vice versa? (ISO 6.3.4)

The mapping is the identity function.

What is the type of the integer required to hold the difference between two pointers to members of the same array, ptrdiff_t? (ISO 6.3.6, ISO 7.1.1)

unsigned int.