2.10. Summary

This has been a lengthy, and perhaps disconcerting chapter.

The alphabet of C, although of relevance, is not normally a day-to-day consideration of practising programmers, so it has been discussed but can now be largely ignored.

Much the same can be said regarding keywords and identifiers, since the topic is not complicated and simply becomes committed to memory.

The declaration of variables is rarely a problem, although it is worth re-emphasizing the distinction between a declaration and a definition. If that still remains unclear, you might find it of benefit to go back and re-read the description.

Beyond any question, the real complexity lies in what happens when the integral promotions and the arithmetic conversions occur. For beginners, it is often worthwhile to remember that here is a difficult and arduous piece of terrain. Nothing else in the language requires so much attention or is so important to the production of correct, reliable programs. Beginners should not try to remember it all, but to go on now and to gain confidence with the rest of the language. After two or three months' practice at using the easier parts of the language, the time really does come when you can no longer afford to ignore Section 2.8.

Many highly experienced C programmers never bother to learn the different precedences of operators, except for a few important cases. A precedence table pinned above your desk, for easy reference, is a valuable tool.

The Standard has substantially affected parts of the language described in this chapter. In particular, the changes to the conversions and the change from ‘unsignedness preserving’ to ‘value preserving’ rules of arithmetic may cause some surprises to experienced C programmers. Even they have some real re-learning to do.