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

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

  • 存储类型

  • 作用域

7.3.1存储类型

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

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

3.内容:

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

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

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

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

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

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

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

7.3.2作用域

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

2.内容:

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

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

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

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

相关推荐
老花眼猫39 分钟前
数学艺术图案画-曼陀罗(93)
c语言·经验分享·青少年编程·课程设计
泡海椒1 小时前
JQuick-Excel dateFormat 转换实战:日期值与 FORMAT 显示格式的边界
开发语言·python·excel
50万马克的面包1 小时前
顺序表和链表_精华知识点_CSDN博客
数据结构·链表
水饺编程1 小时前
第1章:下载 Linux 0.12 内核
linux·c语言·汇编·ubuntu
All for pursuit.1 小时前
【回溯-7】494.目标和
数据结构·c++·算法·leetcode
白杨尚青1 小时前
C++入门篇(十三):vector(上)——动态数组:构造、空间增长与迭代器失效
开发语言·c++·笔记·算法·stl
Jasmine_llq1 小时前
《P17461 [GESP202609 八级] 生成树计数》
算法·栈·tarjan 算法·边双连通分量·深度优先搜索 dfs·tarjan 保存当前路径节点·模乘法
Jasmine_llq1 小时前
《P17462 [GESP202609 八级] 末班车》
算法·dijkstra 算法·最大化版本,求最长可行值·建反向图(逆图 / 反转边)·多源 dijkstra 思想·对每个终点单独跑一遍djst·离线预处理 + 在线查询
江江爱编程1 小时前
java零基础保姆级教学01
java·开发语言
50万马克的面包1 小时前
数据结构01-数据结构概念与复杂度-博客稿
数据结构