C Tutorial/Language/Variable Scope

Материал из C\C++ эксперт
Версия от 10:32, 25 мая 2010; Admin (обсуждение | вклад) (1 версия: Импорт контента...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Inner variable shadows outer variable

#include <stdio.h>
int main(void)
{
  int count = 0;                                
  do
  {
    int count = 0;                
    ++count;                      
    printf("\ncount = %d ", count);
  }
  while( ++count <= 8 );  /* This works with outer count */
  /* this is outer */
  printf("\ncount = %d\n", count);
  return 0;
}
count = 1
     count = 1
     count = 1
     count = 1
     count = 1
     count = 1
     count = 1
     count = 1
     count = 1
     count = 9

Scope of variables

  1. Variable can be defined in the block.
  2. The blocks are marked using { and } braces.
  3. The scope of the variable is in the block where it is declared.
  4. Variable defined in the outer block can be used in the inner block.
  5. The nearest definition has more precedence.


#include <stdio.h>
main() {   
    int i = 10;    
    {        
        int i = 0;            
        for( i=0;i<2;i++)  
        {
               printf("value of i is %d\n",i);
        }     
    }
    printf("the value of i is %d\n",i);
}
value of i is 0
      value of i is 1
      the value of i is 10