Это неопределенное поведение.
Например, эти указатели не указывают на память, которой вы владеете.
Вы можете извлекать только те указатели, которые указывают внутри одного и того же массива (или одной позиции).после конца массива).
Конечно, он, скорее всего, будет работать на большинстве компиляторов, и вы получите 25
, потому что sizeof(int) == 4
на вашей платформе.Если бы они были char *
, вы бы получили 100. (возможно, или это может привести к сбою, в этом вся прелесть UB).