- 修饰类 -
- 1. extern -- 最会带帽子的关键字 -
定义创建了对象并为这个对象分配了内存,声明没有分配内存
相同的定义只能出现一次,相同的声明可以出现多次
变量的定义
变量的声明
函数的声明
函数的定义
- 2. auto -
编译器在默认的缺省情况下,所有变量都是用 修饰的。
- 3. register -- 最快的关键字 -
这个关键字请求编译器尽可能的将变量存在 内部寄存器中而不是通过内存寻址访问以高效率。
注意是尽可能,不是绝对。
3.1 寄存器
数据从内存里拿出来先放到寄存器,然后 再从寄存器里读取数据来处理处理完后同样把数据
通过寄存器存放到内存里,不直接和内存打交道。
为什么寄存器比内存快?
3.2 使用 register 修饰符的注意点
变量必须是能被 寄存器所接受的类型
变量必须是一个单个的值,并且其长度应小于或等于整型的长度
变量可能不存放在内存中,所以不能用取址运算符“!"来获取 变量的地址
- 4. static -- 最名不符实的关键字 -
关键字 有着不寻常的历史。起初在 中引入关键字 是为了表示退出一个块后仍然存在的
局部变量。随后 在 中有了第二种含义#用来表示不能被其它文件访问的全局变量和函数。为了避
免引入新的关键字所以仍使用 关键字来表示这第二种含义。
4.1 修饰变量
变量又分为局部和全局变量但它们都存在内存的静态区
静态全局变量作用域仅限于变量被定义的文件中
静态局部变量在函数体里面定义且只能在这个函数里用
静态变量的值不会被销毁函数下次使用时仍然能用到这个值
评论0
最新资源