union | 声明联合数据类型 |
---|---|
enum | 声明枚举类型 |
static | 声明静态变量 |
register | 声明寄存器变量 |
const | 声明只读变量 |
volatile | 说明变量在程序执行中可被隐含地改变 |
typedef | 用以给数据类型取别名(当然还有其他作用) |
extern | 声明变量是在其他文件中声明(也可以看作是引用变量) |
定义:编译器创建一个对象,为这个对象分配一块内存并给它取上一个名字(变量名/对象名)。这个名字一旦和这块内存匹配起来,它们就同生共死,并且这块内存的位置也不能被改变。一个变量或对象在一定的区域内(比如函数内、全局等)只能被定义一次;
声明:1、告诉编译器,这个名字已经匹配到一块内存上了,下面的代码用到变量或对象是在别的地方定义的,声明可以出现很多次
2、告诉编译器,这个名字已经被预订了,别的地方再也不能用它来作为变量名或对象名。例如函数参数声明void fun(int i,char c);
补充:定义创建了对象并为这个对象分配了内存,声明没有分配内存。
static:作用1:修饰变量
静态全局变量:作用域从定义处开始,到文件末尾结束
静态全局变量:只被初始化一次,