-
存储类别
被储存的每个值都占用一定的物理内存,C语言把这样的一块内存称之为对象。程序通过声明变量来访问对象。
标识符:是个名称,可以用来指定特定对象的内容。指定对象的表达式被称为左值。
存储期:描述对象,指对象在内存中保留了·多长时间。标识符用于访问对象,可以用作用域和链接描述标识符。
作用域:
描述程序中可访问标识符的区域。可以是块作用域、函数作用域、函数原形作用域或文件作用域。定义在块中的变量具有块作用域。可见范围是从定义处到包含该定义的块的末尾。
函数作用域:仅用于goto语句的标签。
函数原型作用域:用于函数原形中的形参名。从形参定义处到原形声明结束。
文件作用域:
变量定义在函数的外面。从定义处到函数末尾都可见。
链接:
具有块作用域、函数作用域、函数原型作用域的变量都是无链接变量。这些变量都属于定义它们的块、函数、或原形私有。具有文件作用域的变量可以是外部链接或内部链接。外部链接可以在多文件程序中使用,内部链接变量只能在一个翻译单元中使用。内部链接的文件作用域简称为“文件作用域”,把外部链接的文件作用域简称为“全局作用域”。
存储期
:作用域和链接描述了标识符的可见性。存储期描述了通过这些标识符访问的对象的生存期。
静态存储期:它在程序的执行期间一直存在。文件作用域变量具有静态存储期。static表明其链接属性,具有内部链接,而非存储期。无论是内部·链接还是外部链接,所有的文件作用域变量都具有静态存储区。
线程存储期:用于并发程序设计。程序执行可被分为多个线程。从声明到线程结束一直存在。以关键字声明一个对象时,每个线程都获得该变量的私有备份。
自动存储期:块作用域的变量通常具有。当程序进入这些变量的块时,为这些变量分配内存;当退出这个块时&
进阶C语言、第十二章储存类别、链接、内存管理
最新推荐文章于 2021-02-28 13:11:55 发布