进阶C语言、第十二章储存类别、链接、内存管理

本文详细介绍了C语言中的存储类别,包括作用域、链接和存储期的概念。讨论了静态存储期、线程存储期、自动存储期和寄存器变量的特性。同时,讲解了内存管理中的动态内存分配函数malloc()、calloc()和free(),以及const和volatile等限定符的作用。
摘要由CSDN通过智能技术生成
  1. 存储类别
    被储存的每个值都占用一定的物理内存,C语言把这样的一块内存称之为对象。程序通过声明变量来访问对象。
    标识符:是个名称,可以用来指定特定对象的内容。指定对象的表达式被称为左值。
    存储期:描述对象,指对象在内存中保留了·多长时间。标识符用于访问对象,可以用作用域和链接描述标识符。
    作用域:
    描述程序中可访问标识符的区域。可以是块作用域、函数作用域、函数原形作用域或文件作用域。定义在块中的变量具有块作用域。可见范围是从定义处到包含该定义的块的末尾。
    函数作用域:仅用于goto语句的标签。
    函数原型作用域:用于函数原形中的形参名。从形参定义处到原形声明结束。
    文件作用域:
    变量定义在函数的外面。从定义处到函数末尾都可见。
    链接:
    具有块作用域、函数作用域、函数原型作用域的变量都是无链接变量。这些变量都属于定义它们的块、函数、或原形私有。具有文件作用域的变量可以是外部链接或内部链接。外部链接可以在多文件程序中使用,内部链接变量只能在一个翻译单元中使用。内部链接的文件作用域简称为“文件作用域”,把外部链接的文件作用域简称为“全局作用域”。
    存储期
    :作用域和链接描述了标识符的可见性。存储期描述了通过这些标识符访问的对象的生存期。
    静态存储期:它在程序的执行期间一直存在。文件作用域变量具有静态存储期。static表明其链接属性,具有内部链接,而非存储期。无论是内部·链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值