http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter4.html
If a large number of variables must be shared among functions, external
variables are more convenient and efficient than long argument lists. As
pointed out in Chapter 1 , however, this reasoning should be
applied with some caution, for it can have a bad effect on program structure,
and lead to programs with too many data connections between functions.