Особенности иерархического проектирования типов данных в Си состоят в том, что принцип контекстного определения типа данных (в контексте операций, выполняемых над переменной, которые присутствуют в ее определении), толком не объясняется в литературе (по крайней мере автор не видел ни одного издания, где это обсуждалось в целом, а не на отдельных примерах типа "вот так это выглядит"). С этой целью пришлось выделить отдельную группу операций (по их назначению) - операции выделения составляющего типа данных ( [],'.',(),* ) для всех производных типов данных - указателей, массивов, структур и функций. Кроме объяснения самого способа контекстного определения типов данных рассматривается ряд примеров формальной расшифровки контекста даже для тех типов данных, с которыми читатель столкнется позднее. Это позволяет глубже понять сам принцип. Естественно, что в "Вопросах без ответов..." на эту тему подобраны тесты.