View Single Post
~ Б0ЯИ Τ0 С0δЭ ~
21Jun2009,09:02  
SaswatPadhi's Avatar
@ dano :

Code: C
void fun(void) {
    int a, b, c;     /*definition 1 */
   
    while () {
       int b, c, d;     /*definition 2 */
           …            ← 1
            while () {
                int c, d, e;     /* definition 3 */
                       …        ← 2
                   }
                       …            ← 3
        }
         …            ← 4
    }

Point 1 : (i) a is visible as per definition 1.
xxxxxxx#(ii) b is visible as per definition 2.
xxxxxxxx(iii) c is visible as per definition 2.
xxxxxxxx(iv) d is visible as per definition 2.

Point 2 : (i) a is visible as per definition 1.
xxxxxxx#(ii) b is visible as per definition 2.
xxxxxxxx(iii) c is visible as per definition 3.
xxxxxxxx(iv) d is visible as per definition 3.
xxxxxxx#(v) e is visible as per definition 3.

Point 3 : Same as Point 1.

Point 4 : (i) a is visible as per definition 1.
xxxxxxx#(ii) b is visible as per definition 1.
xxxxxxxx(iii) c is visible as per definition 1.

If you don't understand Static Scoping, look at the link I mentioned for shabbir (in the post above).