21. Include Policy
When a data type or macro is used in a .H file (e.g. as an argument or return value for a function prototype) that is not defined in that .H file, it is customary to include the appropriate .H containing the definition of that data type or macro, at the top of the .H file that uses the data type or macro. This makes things easy for subsequently-created .C file(s) that include that .H file: it means they don’t have to “remember” to include some other .H before that one in order for the compile to succeed.