#include <stdio.h>
/*全局变量:
作 用 域:当前文件中从定义的这一行,到文件结尾可用
生命周期:程序启动到程序退出*/
int w; //全局变量有默认初始值,int类型默认初始值为0
void changeW(){
w = 8; //修改全局变量
/*局部变量:
作 用 域:在函数内定义的变量(和形参),作用域仅在这个函数代码块中
生命周期:从定义的这一行开始,到代码块结束*/
int a; //局部变量的默认值不确定是0
printf("a:%d\n", a); //不确定
}
void change_w(int i){ //形参也是局部变量
int w;
w = 68; //使用变量时,优先从函数内部调用
}
void main() {
printf("w:%d\n", w); //0
changeW();
printf("w:%d\n", w); //8
change_w(6666);
printf("w:%d\n", w); //8
{ /*内部代码块*/
int i; //当前代码块中的局部变量
{
int j = 87; //当前代码块中的局部变量
printf("j:%d\n", j);
} //到这里,j的声明周期结束
printf("i:%d\n", i);
//printf("j:%d\n", j); //引用不到!
} //到这里,i 的声明周期结束
//printf("i:%d, j:%d\n", i, j); //引用不到!
int i = 456; //main方法的局部变量
void funcInside(){
i = 646; //main方法的局部变量,内部函数可以调用
int i = 348; //内部函数自己的局部变量
i = 22222; //上一行有定义,优先使用内部函数自己的局部变量
printf("i in funcInside:%d\n", i); //22222
}
funcInside(); //调用内部函数
printf("i in outside:%d\n", i); //646
}
/*全局变量:
作 用 域:当前文件中从定义的这一行,到文件结尾可用
生命周期:程序启动到程序退出*/
int w; //全局变量有默认初始值,int类型默认初始值为0
void changeW(){
w = 8; //修改全局变量
/*局部变量:
作 用 域:在函数内定义的变量(和形参),作用域仅在这个函数代码块中
生命周期:从定义的这一行开始,到代码块结束*/
int a; //局部变量的默认值不确定是0
printf("a:%d\n", a); //不确定
}
void change_w(int i){ //形参也是局部变量
int w;
w = 68; //使用变量时,优先从函数内部调用
}
void main() {
printf("w:%d\n", w); //0
changeW();
printf("w:%d\n", w); //8
change_w(6666);
printf("w:%d\n", w); //8
{ /*内部代码块*/
int i; //当前代码块中的局部变量
{
int j = 87; //当前代码块中的局部变量
printf("j:%d\n", j);
} //到这里,j的声明周期结束
printf("i:%d\n", i);
//printf("j:%d\n", j); //引用不到!
} //到这里,i 的声明周期结束
//printf("i:%d, j:%d\n", i, j); //引用不到!
int i = 456; //main方法的局部变量
void funcInside(){
i = 646; //main方法的局部变量,内部函数可以调用
int i = 348; //内部函数自己的局部变量
i = 22222; //上一行有定义,优先使用内部函数自己的局部变量
printf("i in funcInside:%d\n", i); //22222
}
funcInside(); //调用内部函数
printf("i in outside:%d\n", i); //646
}