搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Cpp五条
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
OriginBot智能机器人开源套件—Step5启动OriginBot_古月居 originbot
2
GIT使用文档_idea中克隆后会不会自动创建本地仓库
3
Stable Diffusion中的常用术语解析
4
Navicat Premium 16 操作大全_navicat premium16使用
5
Labelme win版exe Create AI-Polygon闪退_labelme create ai-polygon闪退
6
mysql5.7版本在navicat运行SQL文件,运行失败or导不全?让我来看看_navicat运行sql文件没反应
7
nginx如何在登录网站的时候配置登录验证_boaform/admin/formlogin
8
数学建模常用的十大算法
9
Istio:灰度发布与技术实现_istio 实现灰度发布 项目实战
10
大数据框架之Hive:第10章 分区表和分桶表_分区表和分桶表的相同点
当前位置:
article
> 正文
C语言 变量的作用域和生命周期_c程序生命周期结束判定
作者:Cpp五条 | 2024-04-27 08:20:59
赞
踩
c程序生命周期结束判定
C语言
作用域
和生命周期
a.普通局部变量
属于某个{},在{}外部不能使用此变量,在{}内部是可以使用。执行到普通局部变量定义语句,才会分配空间,离开{},自动释放。
普通局部变量不初始化,默认值为随机数。
b.static局部变量
属于某个{},在{}外部不能使用此变量,在{}内部是可以使用。在编译阶段就已经分配空间,初始化只能使用常量。
static局部变量不初始化,默认值为0。离开{},static局部变量不会释放,只有整个程序结束才释放。
注意:静态局部变量的作用域属于某个{},但是它的
生命周期
却是从编译阶段到整个程序结束。
c.普通全局变量
在编译阶段分配空间,只有
整个程序结束才释放
。普通全局变量只要定义了,任何地方都能使用,
使用前需要声明所有的.c文件
,只能定义一次普通全局变量,但是可以声明多次(外部链接)。
注意:全局变量的作用域是全局范围,但是在某个文件中使用时,必须先声明。
d.static全局变量
在编译阶段分配空间,只有整个程序结束才释放。
static
全局变量
只能在定义所在的文件中
使用此变量(内部链接)。不同的.c文件,可以定义一次static全局变量。
e.extern函数和static函数的区别(作用域)
extern函数所有文件都是调用,所有文件中只能定义一次extern函数。
static函数只能在定义所在的文件中调用此函数,不同文件,可以定义一次static函数。
怎样记忆C语言中的作用域和生命周期?
要理解C语言中各种变量的作用域和生命周期,必须结合C语言的内存管理。详情见博客:
http://blog.csdn.net/u011616739/article/details/61621815
全局变量和静态变量是在程序编译期就分配到数据段或bss段中的,在整个程序的运行期,数据段和bss段中的内容是不会发生改变的。所以所有的全局变量和静态变量的生命周期必定是从程序编译到程序运行结束。而且如果全局变量和静态变量没有初始化,会统一默认初始化为0.
而局部变量是在程序的运行时,在栈中分配的内存,所以生命周期一定是从程序运行的某一个时刻开始。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Cpp五条/article/detail/495742
推荐阅读
article
mysql8
.x忽略表名
大小写
_
mysql8
.0 忽略表名
大小写
...
如果已经安装完了,并且已经初始化后1) 停止Mysql服务2) 删除/var/lib/mysql下的所有文件。注意:这将...
赞
踩
article
VScode
调试
ROS
程序无法打
断
点
,
断
点
进不去
的问题解决方法_
vscode
未绑定
断
点
...
解决VS调试
ROS
程序无法打
断
点
的问题_
vscode
未绑定
断
点
vscode
未绑定
断
点
...
赞
踩
article
深度
强化
学习
笔记——基本
方法
分类
与
一般
思路_
深度
强化
学习
分类
...
概要本文梳理了一下台大李宏毅老师的
深度
强化
学习
系列课程内容。该课程主要是对无模型
深度
强化
学习
方法
的一些大致介绍,将其分为...
赞
踩
article
毕业
答辩之基于
SpringBoot
框架
的请
销假
系统
...
springboot 前端 后端 小程序
毕业
设计 Java mybatis
毕业
答辩之基于
SpringBoot
框架
的请销...
赞
踩
article
4.6
python
中
的
循环
语句
_
python
中
的
循环
和
c
语言
一样吗...
一、while
循环
语句
python
的
while
循环
和if条件分支类似,在条件为真
的
情况下执行一段代码,把这段代码称为循...
赞
踩
article
基于
情感
词典
的
文本
情感
分析
_
中文
文本
情感
评分...
原代码来源:https://blog.csdn.net/lom9357bye/article/details/79058...
赞
踩
article
stream
流实现从
List
集合
中取出
对象
中相同属性的值存放到新的
list
集合
中,
返回
map
结构_...
【代码】
stream
流实现从
List
集合
中取出
对象
中相同属性的值存放到新的
list
集合
中,
返回
map
结构。_
list
....
赞
踩
article
环境
配置
——
Windows
平台
配置
VScode
运行
环境
为
远程
服务器
或虚拟机...
本地
VScode
写代码,
配置
运行
环境
为
远程
环境
。
环境
配置
——
Windows
平台
配置
VScode
运行
环境
为
远程
服务器
或虚拟...
赞
踩
article
PXE
网络
装机_
pxe
@
123...
实验名称:
PXE
网络
装机实验实验要求:搭建
PXE
服务,对裸机进行自动化安装centos7操作系统实验环境:centos7...
赞
踩
article
基于
AT89C52
单片机
的
交通
信号灯
设计_基于
atm89c52
的红绿灯...
模拟
交通
灯控制器就是使用
单片机
来控制一些LED灯和数码管,模拟真实
交通
灯的功能。当南北主干道通车时绿灯亮,而东西次干道干...
赞
踩
article
stable
diffusion
的
GPU
不足
怎么
解决
_
stable
-
diffusion
运行显示...
例如,可以使用近似算法或者采样技术来减少计算量,或者使用稀疏矩阵等数据结构来减少内存占用。4. 使用更高性能的
GPU
:如...
赞
踩
article
超强LLM模型:
InternLM2
-
Chat
-
1.8
B体验_
qwen
/
qwen
1.5-
1.8
b-ch...
体验超强LLM模型
InternLM2
-
Chat
-
1.8
B后,我深感震撼和惊叹。这款模型展现了前所未有的语言理解和生成能力...
赞
踩
article
TortoiseGit
汉化
时无法查找到
中文
语言包
问题_
git
小乌龟找不到
中文
包...
解决
TortoiseGit
汉化
时无法查找到
中文
语言包
问题1、
TortoiseGit
介绍
TortoiseGit
其实是一...
赞
踩
article
Git
将已有项目推送到新建的远程
仓库
_如何将
git
project
指向新的
remote
repos...
Git
将已有项目推送到新建的远程
仓库
_如何将
git
project
指向新的
remote
repository
如何将gi...
赞
踩
article
TortoiseGit
安装使用_
tortoisegit
linux
...
1、首先安装 windows版的git(类似
linux
的命令行工具)Git for Windows反正安装我除了路径都是...
赞
踩
article
git
基本操作以及
fatal
:
Authentication
failed
for错误解决_202...
git
fatal
:
Authentication
failed
for错误解决 _2023-11-14_17
:
38
:
3...
赞
踩
article
linux
完全
卸载
texlive
_
linux
卸载
texlive
-
full
...
sudo apt-get purge
texlive
*rm -rf /usr/local/
texlive
/2020rm ...
赞
踩
article
Android
学习之
Android
studio
TraceView
和
lint
工具的
使用
详解_and...
上次讲述了一下
Android
studio
Terminal的
使用
配置,今天又学习了一下关于Traceview和
lint
...
赞
踩
article
使用
git
拉取
项目时报错
fatal
: Authentication
failed
for
‘XXX‘...
没有相关链接的权限。这个问题通常出现在
拉取
没有认证过的新网站的代码时,如初始配置的为
git
ee(码云),本次
拉取
git
h...
赞
踩
article
GitHub
two
-
factor
authentication
开启教程_
github
enable
...
GitHub
two
-
factor
authentication
开启教程_
github
enable
two
-facto...
赞
踩
相关标签
mysql
ubuntu
linux
spring boot
后端
java
前端
vue.js
python
list
vscode
服务器
ide
pxe
单片机
stm32
嵌入式硬件
stable diffusion
人工智能
git
github
TortoiseGit