C Tutorial/Language/Variable Scope — различия между версиями

Материал из C\C++ эксперт
Перейти к: навигация, поиск
м (1 версия: Импорт контента...)
 
(нет различий)

Текущая версия на 10:32, 25 мая 2010

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