volatile and const are relevant when they occur outside of function declarations see http://www.spinellis.gr/pubs/jrnl/1993-JCLT-CType/html/tsl.html