一、作用域与变量声明
1、作用域
作用域( scope ):程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
例:
全局变量作用域:整个项目
局部变量作用域:局部变量a在"{}"内,即局部变量作用域在变量的局部范围
int g = 2024;//全局变量
//printf("1:%d\n",g); 语法错误
int main() {
printf("hello world\n");
printf("1:%d\n",g);
// {
// int a = 10;//此时报错,局部变量a在"{}"内
// }
{
printf("2:%d\n", g);
int a = 10;
printf("a=%d\n", a);
}
printf("3:%d\n", g);
return 0;
}
打印结果:可以看出全局变量作用于整个项目

2、变量声明
创建源文件add,在源文件add中 定义整型变量g(全局变量),如图

在原源文件test中,写入主函数,此时报错。
原因未找到定义g,需要进行变量声明“extern”
// extern int g; 声明变量
int main() {
printf("%d\n", g);
return 0;
}
结果:

二、生命周期
变量的生命周期:变量的创建和销毁之间的时间段
局部变量的生命周期:进入局部范围生命开始,出局部范围生命结束
全局变量的生命周期:程序的生命周期
例:
int main() {
{
int a = 10;//局部变量
printf("%d\n",a);
}//局部截止
}
1025

被折叠的 条评论
为什么被折叠?



