【c语言】关于局部变量和全局变量,static以及extern

2021年09月15日 阅读数:2
这篇文章主要向大家介绍【c语言】关于局部变量和全局变量,static以及extern,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

c语言的变量分为两种:局部变量,全局变量ide

以下图函数

【c语言】关于局部变量和全局变量,static以及extern_c语言【c语言】关于局部变量和全局变量,static以及extern_c语言_02

b为全局变量,咱们能够在函数外面定义变量,就是全局变量。blog

a为局部变量,咱们能够在函数里面定义变量,就是局部变量。生命周期

若是全局变量与局部变量同样,电脑是按照就近原则,选局部变量it

从结果也能够看出,全局变量能够在整个程序使用,但局部变量只能在所规定的主函数的{ }内使用class

简单讲全局变量的生命周期是正个程序从开始到结束,局部变量生命周期是是一个主函数的开始和结束。变量

 

static修饰的变量变为静态变量,每个局部变量的在生命周期结束时会被自动销毁,static修饰的话能够延长局部变量的生命周期。程序

形象的讲就是:静态变量这我的太安静了,销毁时都没人注意,本身也不说话,就没被销毁。im

举个栗子static

【c语言】关于局部变量和全局变量,static以及extern_c语言_03【c语言】关于局部变量和全局变量,static以及extern_c语言_04

由于没有static修饰,int a被销毁,全部一直打印1

【c语言】关于局部变量和全局变量,static以及extern_c语言_05【c语言】关于局部变量和全局变量,static以及extern_c语言_06

此次加上static,int a没有销毁,全部数会一直加上打印的就是12345

 

extern是用来访问声明过的外部变量,好比在同一个文件夹中,两个程序要相互联系,要用到另外一个程序的变量,在使用时前面加上extern,说明这是从其余程序拿来的变量,

这样就能够直接使用。但记得要在前面加上extern。就好像你向别人借东西,若是不说一声,就很没礼貌。你本身知道但别人不知道

 

注意static修饰的全局变量不能被借(意思是在其余程序中加上extern,也没办法使用)