- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章C语言:变量的作用域和生命周期详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
定义在代码块外部的是全局变量 。
定义在代码块内部的是局部变量 。
什么是代码块?
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;
}
}
|
简单的说就是变量不要重复,也别和库函数冲突 。
变量的作用域->变量的生效区域 。
注:在VS中全局变量的作用域是整个工程 。
作用域的规定了变量生效区域 。
如果你在局部变量的代码块外部使用这个局部变量 。
这样是无效的,无法使用 。
在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,并给初始值
|
生命周期这个概念和作用域十分相似 。
局部变量又称自动变量 。
1
|
auto
int
a =
0
;
|
实际使用的时候我们一般都是省略auto的 。
本片文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我的更多内容! 。
原文链接:https://blog.csdn.net/muxuen/article/details/119994969 。
最后此篇关于C语言:变量的作用域和生命周期详解的文章就讲到这里了,如果你想了解更多关于C语言:变量的作用域和生命周期详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!