首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
程序的局部变量存在于[$##$]中,全局变量存在于[$##$
[填空题]
程序的局部变量存在于
1
中,全局变量存在于
2
中,动态申请数据存在于
3
中,变量放在堆区与栈区的区别是
4
。
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(376)
分享
纠错
9个回答
添加回答
5
脑震荡的猪
程序的局部变量存在于栈区中。
全局变量存在于静态数据区中。
动态申请的数据(例如使用malloc函数分配的内存)存在于堆区中。
变量放在堆区与栈区的区别主要体现在以下几个方面:
生命周期:堆区的变量在动态申请内存时需要手动释放(通过调用free函数),而栈区的变量在其所属的函数执行完毕后会自动销毁。
内存管理:堆区的内存由程序员手动管理,包括申请和释放,而栈区的内存由编译器自动管理。
内存空间:堆区的内存空间较大,受限于系统的可用虚拟内存大小,而栈区的内存空间较小,受限于系统的栈大小。
访问方式:堆区的变量通过指针进行访问,而栈区的变量可以直接通过变量名访问。
作用范围:堆区的变量的作用范围可以跨越多个函数,而栈区的变量的作用范围仅限于所属的函数。
发表于 2023-04-11 11:46:26
回复(0)
3
дракон
(1) 栈
(2) 静态区
(3) 堆
(4) 从申请方式,申请大小,申请效率简单比较:Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。Stack空间有限,Heap是很大的自由存储区。Stack申请效率高,Heap申请效率低。
第四个能对上才怪了,(1),(3)后面别跟区字,淦
发表于 2020-10-04 11:03:56
回复(0)
2
锅盖小郭哥
1
栈
2
静态内存区
3
堆
4
堆区内存的申请和释放需要手动申请,而栈区的数据的由系统自动销毁
我觉得差不多啊!
😂
发表于 2020-10-07 18:09:42
回复(0)
0
强生201911012215805
stack由操作系统分配有点不好理解。裸机就不符合了吧。
发表于 2022-03-31 23:51:15
回复(0)
0
牛壮壮
(1) 栈
(2) 静态区
(3) 堆
(4) 从申请方式,申请大小,申请效率简单比较:Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。Stack空间有限,Heap是很大的自由存储区。Stack申请效率高,Heap申请效率低。
发表于 2022-02-10 10:40:30
回复(0)
0
牛客422597906号
第一个写堆栈也算错吗?C语言里堆栈=栈啊
发表于 2022-01-09 00:29:43
回复(1)
0
歪歪DS
答全局区不行吗?
发表于 2021-07-19 05:57:51
回复(0)
0
舟小亢
栈区由编译器自动分配,内纯的分配是连续的,堆区由程序员自行分配,需由程序员释放变量内存。
一脸M
发表于 2021-04-07 10:43:20
回复(0)
0
牛客44846329号
不是生命周期不同吗?
发表于 2021-02-25 13:59:49
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
商汤科技
安卓工程师
运维工程师
嵌入式工程师
算法工程师
2018
Java工程师
来自:
嵌入式工程师能力评估
上传者:
小小
难度:
9条回答
376收藏
4102浏览
热门推荐
相关试题
通过构建有序序列,对于未排序数据,...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
安全工程师
2018
奇安信
评论
(0)
服务部署
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(28)
下面描述中,符合结构化程序设计风格...
北京搜狐新媒体信息技术有限公司
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
函数如下: int funct...
Java工程师
C++工程师
运维工程师
算法工程师
商汤科技
2018
嵌入式工程师
评论
(14)
来自
嵌入式工程师能力评估
extern关键字的作用是什么?
Java工程师
C++工程师
运维工程师
算法工程师
商汤科技
2018
嵌入式工程师
C++
评论
(4)
来自
嵌入式工程师能力评估
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题