C语言——局部变量和全局变量

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;
}



总结


以上就是今天要讲的内容,本文介绍了局部变量和全局变量的使用和区别,而局部变量和全局变量以后将是我们写代码必不可缺少的变量,可以辅助我们对代码的认知和理解,今天的分享就到这里结束了,再见!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值