This is a chapter describing specialized areas of the language.
Undoubtedly, the issues of scope, linkage and duration are important. If you find the whole topic too much to digest, just learn the simple rules. The problem is that the Standard tries to be complete and unambiguous, so it has to lay down lots of rules. It's much easier if you just stick to the easy way of doing things and don't try to get too clever. Use Example 8.2 as a model if in doubt.
The use of
typedef depends on your level of experience.
Its most common use is to help avoid some of the more unpleasant aspects
of complicated type declarations.
The use of
const will be widespread in many programs.
The idea of a pointer to something which is not modifiable is well and
truly emphasized in the library function prototypes.
Only specialized applications will use
volatile. If you
work in the field of real-time programming, or embedded systems, this
will matter to you. Otherwise it probably won't. The same goes for
sequence points. How well the early compilers will support these last
two features will be a very interesting question.