C Primer Plus 第12章 存储类、链接和内存管理
来源:互联网 发布:php warning 编辑:程序博客网 时间:2024/05/14 00:52
C有5种存储类:
- 自动(代码块内、auto随意)——在一个代码块内(或在一个函数头部作为参量)声明的变量,无论有没有存储类型修饰符auto,都属于自动存储类。该类具有自动存储时期、代码作用域和空链接。如未经初始化,它的值是不定的。
- 寄存器(代码块内、register)——在一个代码块内(或在一个函数头部作为参量)使用存储类修饰符register声明的变量属于寄存器存储类。该类具有自动存储时期、代码作用域和空链接,而且无法获得其地址。把一个变量声明为寄存器变量可以指示(建议)编译器提供可用的最快访问。如未经初始化,它的值是不定的。
- 静态、空链接(代码块内、static)——在一个代码块内使用存储类修饰符static声明的变量属于静态空链接存储类。该类具有静态存储时期、代码作用域和空链接,仅在编译时初始化一次。如未明确初始化,它的字节都被设定为0。
- 静态、外部链接(函数外定义)——在所有函数外部定义、未使用存储类修饰符static声明的变量属于静态、外部链接存储类。该类具有静态存储时期、代码作用域和外部链接,仅在编译时初始化一次。如未明确初始化,它的字节都被设定为0。
- 静态、内部链接(函数外定义、static)——在所有函数外部定义、使用存储类修饰符static声明的变量属于静态、内部链接存储类。该类具有静态存储时期、代码作用域和内部链接,仅在编译时初始化一次。如未明确初始化,它的字节都被设定为0。
类型限定词说明符有const、volatile和restrict。
- 说明符const将数据设定为不变的。在使用指针时,const可以表明指针本身不变或指针指向的数据不变,这取决于const在声明中的位置。
- 说明符volatile表明数据除了可被程序修改外还可以通过其他方式修改,其目的是警示编译器在优化时不要做出相反的假设。
- 说明符restrict也是为了优化而设置。由restrict限定的指针被认为是提供了对其所指向的数据块的惟一访问途径。
- 说明符volatile const表示不能由程序改变,但是可以被程序以外的代理改变。比如硬件时钟。
0 0
- C primer plus第12章(存储类、链接和内存管理)
- C primer plus第12章(存储类、链接和内存管理)习题
- C Primer Plus第12章 存储类、链接和内存管理随笔
- C Primer Plus 第12章 存储类、链接和内存管理
- c primer plus第12章总结:存储类、连接和内存管理
- 【C Primer Plus】第十二章 存储类、链接和内存管理
- C primer plus 学习之存储类、链接、内存管理
- 《C Primer Plus》读书笔记——存储类、链接和内存管理
- C Primer Plus 第十二章:储存类别,链接和内存管理
- 第12章 存储类、链接和内存管理
- C++ Primer Plus 第12章 类和动态内存分配
- C -- 存储类、链接和内存管理
- C++Primer Plus 第九章-存储持续性、作用域和链接性
- C++ primer plus 第12章 类和动态内存分配
- 【读书笔记:C++ primer plus 第六版 中文版】第12章 类和动态内存分配
- C++ primer plus 第12章 类和动态内存分配
- c++primer plus 第12章习题
- C语言存储类、链接和内存管理总结
- java工程师的职业规划
- 杭电5610 Baby Ming and Weight lifting
- 用输入输出字节流拷贝图片,并进行异常处理
- (OK) 在CentOS7上安装Codeblocks的过程
- ZOJ 3228 AC自动机
- C Primer Plus 第12章 存储类、链接和内存管理
- HDOJ 1005-Number Sequence【规律】
- multimap自定义结构体
- Android ProgressDialog进度条 等待条
- Java四种线程池的使用
- (OK) 调试cBPM—CentOS7—gdb—gdbserver—问题的解决—2—段错误
- python中文乱码
- OSI七层网络模型极其协议
- 各种排序算法总结(C++实现)