Вы бы никогда не захотели бы сделать это в реальной жизни, но
(*p1).x
является членом x
в объекте, указанном p1
;
(*((*p1).p2)).y
является членом y
в объекте, указанном p2
, который является членом в объекте, указанном p1
, а
(*((*((*p1).p2)).p3).z
является членом z
в объекте, указанном p3
, который является членом объекта, на который указывает p2
, который является членом объекта, на который указывает p1
.
Вполне возможно, что это можетбыть сделано с меньшим количеством скобок, но они определенно помогают с пониманием.