The exception to that rule is a function, which can be reached from anywhere (you can only know by grepping the name of the function, and not even then if there are function pointers used) but when you write a function, you take that into account - which is where we get a lot of the rules of good programming, ie, avoid globals, avoid side-effects, etc.