gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C语言:变量的作用域和生命周期详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1.全局变量和局部变量

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

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

什么是代码块?

?
1
2
3
4
5
//这是代码快外部
int main()
{
//这是代码块内部
}

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

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

?
1
2
3
4
5
6
7
8
9
int main()
{
     int i = 0; //这是代码块外部-i全局变量
     for (i=0;i<10;i++)
     { //代码块开始
         int j=0; //这是代码块内部-j局部变量
         for (j=0;j<10;j++)
     } //代码块结束
}

需要注意的是:

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

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

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

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

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

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

2.变量的作用域

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

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

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

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

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

这样是无效的,无法使用 。

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

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

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

?
1
extern int a

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

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

3.变量的生命周期

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

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

4. 局部变量&自动变量

局部变量又称自动变量 。

?
1
auto int a = 0 ;

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

总结

本片文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我的更多内容! 。

原文链接:https://blog.csdn.net/muxuen/article/details/119994969 。

最后此篇关于C语言:变量的作用域和生命周期详解的文章就讲到这里了,如果你想了解更多关于C语言:变量的作用域和生命周期详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com