Listing 1 Nested lexical scoping regions

 1: int i;
 2: char *q;
 3:
 4: void f(char *p)
 5:     {
 6:     int i;
 7:     // ...
 8:     if (i == 5)
 9:             {
10:             char *p = 0;
11:             q = p; 
12:             }
13:     if (q == 0)
14:             // ...
15:     }
16:
17: void g()
18:     {
19:     i = 5;
20:     }

// End of File