常量
变量
- 基本数据类型:void char int float double
- 类型修饰:short long signed unsigned
- 自定义类型: struct union enum typedef sizeof
- 存储级别:auto static const volatile register extern
const
- 常量指针const int* p等价于int const *p,p的值可以改变,但是*p不可改变
- 指针常量int* const p,p不可修改,*p可被修改
- const int* const p,p和*p都不可被修改
static
- 静态全局变量:作用域仅限于定义之处到文件结尾,失去外部链接属性
- 静态局部变量:函数体内部定义,只能在此函数中使用
- 特点:static修饰的变量存放在进程地址空间的静态区,即使用函数运行结束,该静态变量还是不会被销毁
使得该函数失去外部链接属性,作用域仅限本文件(避免和别人的文件命名冲突)
volatile
保存内存的可见性,编译器不会将该变量保存在寄存器中,而是每一次都去访问内存中实际保存该变量的内存位置