What are the hidden variables in the C language?
C and Posix do not really define many global variables; functionality based on interfacing through global variables is inflexible in implementation, breaks encapsulation and poses synchronization problems. Even errno is stated as ‘integer expression’ (not ‘integer variable’) in K&R2 [and typically implemented by means of a function returning a pointer {to thread-local data}].