-, , uintptr_t. (C ++) . , ( ). , , SIZE_MAX . , ptrdiff_t , size_t. : size_t, uintptr_t. uintptr_t , size_t. C/++ , , UINTPTR_MAX .
( , , uintptr_t size_t , , .)
NULL - (2^64-1) ( ) . , ?
-, uintptr_t size_t, , . sizeof(ptrdiff_t) sizeof(size_t) - , . , , , ptrdiff_t , , ( , SIZE_MAX ). ptrdiff_t -, size_t.
, " " undefined , . char, , SIZE_MAX * 2 / 3
char array[SIZE_MAX * 2 / 3];
undefined, ptrdiff_t , size_t
char *b = array;
char *e = array + sizeof array;
ptrdiff_t distance = e - b;
, [ ] .