/*
作用域:可以理解为变量可以使用的范围
变量按照作用域分类:局部变量和全局变量
1)局部变量:
函数的内部或者代码块的内部定义的变量,都称之为 局部变量
代码块:
{
代码块语句;
}
{
代码块2
}
强调一点:
代码块是可以嵌套的
{
代码块语句
{
代码块语句
}
}
局部变量的作用域:
从局部变量定义的位置开始,到它所在的代码块或者函数体的“}”为止
注意:
在代码块的内部可以定义和块外部同名的变量,块内部的会暂时屏蔽(外部的不起作用)块外部的变量的作用域
2、全局变量的使用
在函数的外部定义的变量是全局变量
作用域:
从定义的位置开始,到文件末尾,在不同的函数中都可以使用
*/
#include <stdio.h>
//定义一个全局变量
float score = 59.9f;
int main(int argc, const char * argv[]) {
//定义局部变量
//注意 age 和 age1都是局部变量
int age;
printf("age = %d
",age);//0
//下面是一个代码块
{
//定义了另外一个局部变量age1 值是 10
int age1 = 10;
printf("age1 = %d
",age1); //10
//age 等于100,访问代码块外部的age
age = 100;
printf("age = %d
",age); //100
//在代码块的内部可以定义和代码块外部同名的变量
int age = 1;
printf("age = %d
",age); //1
} //代码块结束
//printf("age1 = %d",age1); //错误的,age1已经释放了
printf("age = %d
",age); //100 1 ?
//使用全局变量 score
printf("test:main = %f
",score);
//调用test函数
void test();
test();
return 0;
}
void test(){
printf("test:score = %f
",score);
}