Конечно, вы можете, этот код показывает поведение:
#include <stdio.h>
int main()
{
int value = 1234567;
char *pt = (char*) &value;
printf("first char: %p, second char: %p\n", pt, pt+1);
}
Это выводит:
first char: 0x7fff5fbff448, second char: 0x7fff5fbff449
Как вы можете видеть, разница составляет всего 1 байт, как задумано, это потому, что арифметикауказатели были сделаны после приведения типа к меньшему типу данных.