0036 C变量的作用域 运算符优先级结合性

/*
 作用域:可以理解为变量可以使用的范围
 变量按照作用域分类:局部变量和全局变量
 
 1)局部变量:
 
       函数的内部或者代码块的内部定义的变量,都称之为 局部变量
 
       代码块:  
 
            {
                 代码块语句;
            }
 
            {
 
                 代码块2
 
            }
 
            强调一点:
 
            代码块是可以嵌套的
 
               {
 
                      代码块语句
                      {
                        代码块语句
                      }
                }
 
           局部变量的作用域:
 
               从局部变量定义的位置开始,到它所在的代码块或者函数体的“}”为止
 
           注意:
 
               在代码块的内部可以定义和块外部同名的变量,块内部的会暂时屏蔽(外部的不起作用)块外部的变量的作用域
 
 
      2、全局变量的使用
 
          在函数的外部定义的变量是全局变量
 
         作用域:
 
          从定义的位置开始,到文件末尾,在不同的函数中都可以使用
 
 
 */


#include <stdio.h>

//定义一个全局变量
float score = 59.9f;

int main(int argc, const char * argv[]) {
    
    //定义局部变量
    //注意 age 和 age1都是局部变量
    int age;
    printf("age = %d\n",age);//0
    
    //下面是一个代码块
    {
        //定义了另外一个局部变量age1 值是 10
        int age1 = 10;
        printf("age1 = %d\n",age1);  //10
        //age 等于100,访问代码块外部的age
        age = 100;
        printf("age = %d\n",age);  //100
        
        //在代码块的内部可以定义和代码块外部同名的变量
        int age = 1;
        printf("age = %d\n",age);  //1
        
    }  //代码块结束
    
    //printf("age1 = %d",age1);  //错误的,age1已经释放了
    printf("age = %d\n",age); //100 1 ?
    
    
    //使用全局变量 score
    printf("test:main = %f\n",score);
    
    //调用test函数
    void test();
    test();
    
    return 0;
}

void test(){

    printf("test:score = %f\n",score);

}

posted @ 2015-07-22 07:48  挨踢控  阅读(177)  评论(0编辑  收藏  举报