2016 - 2024

感恩一路有你

c语言如何建立动态存储区 c语言存储形式怎么看?

浏览量:2056 时间:2023-04-07 16:22:17 作者:采采

c语言存储形式怎么看?

C语言的动态存储模式和静态存储模式

静态存储是指系统在程序运行过程中分配一个固定的存储空间;动态存储是在程序运行过程中根据需要动态分配存储空间的一种。

用户在内存中的存储空间可以分为三部分。

程序区

静态存储区

动态存储区

所有的全局变量都存储在静态存储区。当程序开始执行时,存储区被分配给全局变量,程序执行后被释放。

将以下数据存储在动态存储区

函数形参。

在函数中定义的变量,如果不是用关键字static声明的,就是自动变量。

调用函数时的现场保护和返回地址。

在C语言中,每个变量和函数都有两个属性:

数据类型

数据的存储类别。

C语言有四种存储类别:

自动(自动)

静态(静态)

注册(注册)

外部(extern)。

C语言中局部变量的存储类别

自动变量(自动变量)

除非明确声明了静态存储类别,否则函数中的局部变量是动态分配的存储空间,数据存储在动态存储区域。自动变量使用关键字auto作为存储类别声明。

静态局部变量(静态局部变量)

函数中局部变量的值在函数调用后并没有消失,而是继续保留原来的值,即它所占用的存储单元没有被释放,下次再次调用函数时该变量还有一个值。

寄存器变量(寄存器变量)

为了提高执行效率,允许将局部变量的值放在CPU中的寄存器中,必要时直接从寄存器中取出参与运算,而不必在内存中访问。因为对寄存器的访问速度远高于对存储器的访问速度,所以可以提高执行效率。这个变量称为寄存器变量,由关键字register声明。

C语言中全局变量的存储类别

扩大文件中外部变量的范围。

如果由于某种原因,定义点之前的函数需要引用外部变量,那么应该使用关键字extern来 "声明外部变量在引用之前,这意味着将外部变量的范围扩展到这个位置。

将外部变量的范围扩展到其他文件。

将外部变量的范围限制在该文件中。

注意,使用auto、register、static声明变量时,这些关键字是在定义变量的基础上添加的,不能单独使用。

ram区是什么意思?

RAM是一种读写存储器,在程序运行时临时存储数据,它是动态存储的。数据将在每次关机后丢失,并在启动后刷新。与存储卡相比,内存速度更快,价格更贵,容量更小,资源有限,相当于系统运行时的数据动态缓冲。

手机系统速度和程序运行速度是主要因素。要看内存的大小,和电脑上的内存一致。小内存慢,大内存快。

变量 存储 动态 数据 内存

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。