欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

C语言:变量的作用域和生命周期详解

时间:2021-11-14 10:25:03|栏目:C代码|点击:

1.全局变量和局部变量

定义在代码块外部的是全局变量

定义在代码块内部的是局部变量

什么是代码块?

//这是代码快外部
int main()
{
//这是代码块内部
}

实际上用int main来演示是不太对的,实际使用的时候我们定义变量是在int main内部定义的

下面这个例子更加清晰明了

int main()
{
	int i = 0;//这是代码块外部-i全局变量
	for(i=0;i<10;i++)
	{//代码块开始
		int j=0;//这是代码块内部-j局部变量
        for(j=0;j<10;j++)
	}//代码块结束
}

需要注意的是:

同一个变量a可以在全局,局部变量中间同时使用,局部变量优先

这里是指同时存在,同时使用,但不能同时定义

在局部的代码块中重新定义一个全局变量是错误的

下面这种形式就是 同时使用一个变量

int main()
{
    int sz = 8;
	int i = 0;
	if(i<sz)
	{
		i=1;
	}
}
  • 在我们定义变量的时候,变量的名字不能相同
  • 同时变量的名字也不应和库函数名相同

简单的说就是变量不要重复,也别和库函数冲突

2.变量的作用域

变量的作用域->变量的生效区域

  • 局部变量只在它自己的代码块中生效
  • 全局变量的作用域是整个代码

注:在VS中全局变量的作用域是整个工程

作用域的规定了变量生效区域

如果你在局部变量的代码块外部使用这个局部变量

这样是无效的,无法使用

2-1.声明外部变量的方法

在vs中全局变量的作用域是整个工程

但是如果源文件不同,我们需要打一串声明来应用工程文件中另外一个源文件的全局变量

extern int a

以下是声名变量和定义变量的代码示例

  extern int a;//声明全局变量a
  int a; //定义全局变量a
  extern int a =0 ;//定义全局变量a 并给初始值
  int a =0;//定义全局变量a,并给初始值

3.变量的生命周期

生命周期这个概念和作用域十分相似

  • 局部变量的生命周期从进入"{“开始,离开”}"结束
  • 全局变量的生命周期是整个程序(VS项目)

4. 局部变量&自动变量

局部变量又称自动变量

auto int a = 0;

实际使用的时候我们一般都是省略auto的

总结

上一篇:c++程序字符型的实例讲解

栏    目:C代码

下一篇:C++手写内存池的案例详解

本文标题:C语言:变量的作用域和生命周期详解

本文地址:http://www.codeinn.net/misctech/183507.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有