C语言中全局变量存放在哪个位置?

C语言中全局变量存放在哪个位置?

C语言中全局变量存放在哪个位置? 全局变量存放在静态存储区,位置是固定的。 局部变量在栈空间,栈地址是不固定的。

栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。

堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。

自由存储区:就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。

全局存储区(静态存储区):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放。

常量存储区:这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改。

转自 http://www.cnblogs.com/ouysq/p/4528089.html 提示 订阅专刊 全部评论 推荐最新楼层 暂无评论,快来抢首评~

相关推荐

昨天 15:52 江南大学 Java 极兔后端一面 1.Redis Stream 做订单队列,如果消费失败了怎么兜底?2.推模式缺点,改进方案3.滚动分页用的是时间戳加 offset 去重,为什么不直接用 limit 呢?4.点赞用 ZSet 存储用户 DB 存计数,你是怎么保证这个缓存和这个 DB 双写一致的呢?5.秒杀结束后,数据怎么同步到数据库?6.项目中有用到过 AOP 吗?7.事务注解在什么情况下会失效吗?8.项目中有用到线程池的场景吗?比如说现在有一个线程池,它的核心线程数是 5,最大线程数是 10,然后等待队列也是 10。这时候一下涌进来 30 个任务,每个任务执行都很慢。你能简单说一下,这 30 个任务在刚才那个线程池里执行的流... 查看18道真题和解析 点赞 评论 收藏 分享 08-05 13:15 深圳大学 Python 豆包说这份简历属于同届顶尖水平 这是第二版简历,昨天匆匆忙忙写了份简历分享出来收到很多兄弟的建议,所以今天第一件事就是把简历改好,继续接受xdm的批评指正。目前项目存在两大痛点,一是缺少量化业务成果,难有说服力;二是工程侧缺少高并发,分布式的相关经验。如果有好的项目也请推荐推荐,小弟感激不尽。豆包说的只有豆包自己相信,反正我是不信的😸 点赞 评论 收藏 分享 09-22 16:20 门头沟学院 测试开发 简历大造假时代来了 su学至此已成艺术,虽然大家都骂su,但谁不想急头白脸地包装一番这就是AI时代的恶果简历耍起面试耍起秋招耍起 点赞 评论 收藏 分享 09-21 23:00 已编辑 清华大学 嵌入式软件开发 龙旗科技嵌入式面经 在 C 中,怎样让某个对象只能被读取、不能经当前名字写入?当这种限定与指针结合时,如何区分“地址不可改”“目标不可改”和“两者都不可改”?若希望一个局部对象在函数多次调用之间保留上次的值,同时又不被外部作用域访问,应使用哪种存储类说明符?它的初始化时机和生存期如何变化?怎样让一个全局对象或函数只在本编译单元内参与链接,而不被其他源文件引用?这对命名冲突和模块封装有什么影响?哪些情况下编译器对内存访问的合并、缓存或删除会违背程序真实意图?用什么限定符可以抑制这类优化?它能替代互斥或原子操作吗?中断上下文与普通执行流共享标志时,声明上应注意什么?访问固定地址的外设寄存器时,又该如何避免被优化?这两... 查看18道真题和解析 点赞 评论 收藏 分享 评论 点赞成功,聊一聊 >点赞 收藏 分享 评论

相关推荐

鹧鸪茶的正确泡法(鹧鸪茶要解开绳子泡吗)
最佳娱乐365bet娱乐场下载

鹧鸪茶的正确泡法(鹧鸪茶要解开绳子泡吗)

08-20 阅读 9706
消委會床褥舒適度對比
h365邮箱官网

消委會床褥舒適度對比

09-29 阅读 3560