CSND的同学们大家好,今天学习的内容是局部变量和局部变量的区别,咱们废话不多说,let's go!
- 前言
- 一、局部变量和全局变量什么?
- 二、局部变量和全局变量的区别
前言
C语言中有常量和变量之分,而变量分为局部变量和全局变量。
一、局部变量和全局变量是什么?
局部变量:在{}内部定义的变量就是局部变量。
全局变量:在{}外部定义的变量就是全局变量。
二、局部变量和全局变量的区别
1.
代码如下:
#include<stdio.h>
int b=20; //全局变量
int main()
{
int a=10;//局部变量
printf("%d",a);//屏幕输出10
printf("%d",b);//屏幕输出20
return 0;
}
#include<stdio.h>
int a=20; //全局变量
int main()
{
int a=10;//局部变量
printf("%d",a);//屏幕输出10
return 0;
}
//局部变量和全局变量同名时,局部变量优先使用
#include<stdio.h>
int main()
{
int a=10;//局部变量
printf("%d",a);
int a=11;
printf("%d",a);//这样ctrl+F5会报错,因为a重定义了 当你给int a初始化成10
return 0; //当你想改变它的值只需写出a=11即可。
}
2.作用域
作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用
的而限定这个名字的可用性的代码范围就是这个名字的作用域。
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。
代码如下;
#include<stdio.h>
int main()
{
int a=5;
printf("%d",a);
{
int b=10;
printf("%d",b);
}
printf("%d",b); //会报错因为int b超出了自己的作用域范围,直接销毁了。
return 0;
}
#include<stdio.h>
int a=100;
void test()
{
printf("2::%d\n",a); //屏幕输出打印2:100
}
int main()
{
printf("1:%d\n",a);//屏幕输出打印1:100;
test(a);
return 0;
}
//整体屏幕输出打印1:100 2:100
我们也可以这样写比如在add.c源文件
int Ez=100;
然后在tese.c源文件
#include<stdio.h>
extern Ez //extern是声明外部符号 在这次代码声明add.c全局变量
int main()
{
printf("%d\n",Ez);屏幕输出打印100;
return 0;
}
总结
以上就是今天要讲的内容,本文介绍了局部变量和全局变量的使用和区别,而局部变量和全局变量以后将是我们写代码必不可缺少的变量,可以辅助我们对代码的认知和理解,今天的分享就到这里结束了,再见!