Пожалуйста, попробуйте это ....
char *a = &(person->title);
printf("%c %c %c", *a, *(a+1) , *(a+2));
РЕДАКТИРОВАТЬ
На основе 20 полей в структуре это гораздо более простое смежное, непрерывное распределение памятипроисходит в случае структуры
например:
struct test {
// Suppose the elements of the struct are only title and name each having 3 bytes
}*person;
// The first 3 bytes are w.r.t title and the very next 3 is allocated to name, note for
// struct it`s stored as contiguous memory allocation
// code can be rewritten as - to display title and name
char *a = &(person->title);
printf("Title : %c%c%c", *a, *(a+1), *(a+2));
printf("Name : %c%c%c", *(a+3), *(a+4), *(a+5));