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

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

  • 存储类型

  • 作用域

7.3.1存储类型

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

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

3.内容:

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

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

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

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

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

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

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

7.3.2作用域

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

2.内容:

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

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

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

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

相关推荐
CoderCodingNo8 分钟前
【GESP】C++五级/四级练习(双指针/数学) luogu-P1147 连续自然数和
开发语言·c++·算法
IT=>小脑虎9 分钟前
PHP零基础衔接进阶知识点【详解版】
开发语言·学习·php
颜酱11 分钟前
前端算法必备:双指针从入门到很熟练(快慢指针+相向指针+滑动窗口)
前端·后端·算法
Wect14 分钟前
LeetCode 274. H 指数:两种高效解法全解析
算法·typescript
Q741_14715 分钟前
海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(2) 作答语言:C/C++ 哈夫曼编码 LRU
c语言·数据库·c++·算法·笔试·哈夫曼编码·哈夫曼树
你怎么知道我是队长18 分钟前
C语言---位域
c语言·开发语言
Hello.Reader22 分钟前
PyFlink DataStream Operators 算子分类、函数写法、类型系统、链路优化(Chaining)与工程化踩坑
前端·python·算法
hweiyu0023 分钟前
最短路径算法:Floyd-Warshall算法
算法
荒诞硬汉27 分钟前
数组常见算法
java·数据结构·算法
少许极端27 分钟前
算法奇妙屋(二十四)-二维费用的背包问题、似包非包问题、卡特兰数问题(动态规划)
算法·动态规划·卡特兰数·二维费用背包·似包非包