存储类型简介

来源:互联网 发布:彼生而有涯而知也无涯 编辑:程序博客网 时间:2024/06/05 00:18

变量的存储地址可以有三个:普通内存,运行时堆栈,硬件寄存器。在这个地方存储的变量具有不同的特性。
变量的默认存储类型取决于它的申明位置:
凡是在任何代码块之外申明的变量都是存储在静态内存中,也就是不属于堆栈的内存,这一类变量称为静态变量。这一类变量我们无法为其指定其他存储类型。这类变量在程序运行之前创建,在整个程序执行期间始终存在。始终保持原先的值,除非你给他赋予一个新的值。
在代码块内部申明的变量的默认类型是自动的,也就是说它存储在堆栈中,称为自动变量,有一个关键字auto就是用于修饰这种存储类型的,但是他极少使用,因为代码块中的变量在默认情况下是自动变量,程序执行到声明自动变量的代码块时,自动变量才被创建,当程序离开代码块时,自动变量被销毁,如果包含该自动变量的函数被连续调用多次,这些自动变量每次都将重新创建。在代码块连续调用时,这些自动变量在堆栈中所占的位置与原先可能相同,也可能不同。

0 0
原创粉丝点击