C语言导航 7.3变量存储类型和作用域

第三节 变量存储类型和作用域

  • 存储类型

  • 作用域

7.3.1存储类型

1.说明:在数据定义类型中,存储类型用于定义变量在内存中存储区域,从而决定其生存期。

2.生存期:一个"{}"内就是一个生存期,即函数外、函数内、函数中复合语句内等均可以是一个生存期。

3.内容:

①auto:自动类型,该类型是默认类型,会根据定义的位置决定生存期,在生存期结束后将消失。

注意:函数的形参也属于自动类型,该类型变量在获得内存区域后,初始值为随机数。

②static:静态类型,该类型是生存期最长的,只要程序还在执行,该类型的值就可能再用到,所以要一直保留着。

注意:该类型在定义时,如果没有初始化将会被赋予0。在多文件编写或访问时,该类型值将不能被改写。

③register:寄存器类型,该类型是最珍贵的,它将存储在寄存器中。

④extern:外部类型,该类型表示将定义范围扩展到其他位置。

注意:在多文件编写或访问时,该类型也表示其值可以被外部操作。

7.3.2作用域

1.内存四区:全局区、代码区、堆区、栈区。

2.内容:

①全局区:用于存放全局变量和静态变量,即生存其最长的一些变量。

②代码区:用于存放程序代码和常量。

③栈区:用于存放自动类型变量和程序中断地址等,它将根据程序执行情况自由分配空间。

④堆区:用于程序员利用内存分配函数进行操作的区域。

相关推荐
爱笑的k112 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
拂拉氏2 小时前
【知识讲解-题目讲解】 统计满足K约束的子字符串数量2 (滑动窗口+前缀和+二分查找+分析)
算法·前缀和·二分查找·滑动窗口
X1A0RAN3 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint
熊猫钓鱼>_>4 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
瑞雪兆丰年兮4 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
布莱克6056 小时前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
布莱克6056 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
通信小呆呆6 小时前
电子战抗干扰技术:当“不被干扰”成为一种系统
算法·通信·mimo·isac
笑容掩饰我的失落6 小时前
区块链从小白到精通(八):从零实现一个标准 ERC-20 代币(完整可运行代码)
算法·区块链·php·智能合约·哈希算法
Severus_black7 小时前
【C++初阶】Stack、Queue算法题大练兵!
c语言·c++·算法·stl