在C/C++中,所有的变量必须先声明后使用。一个声明指定一个变量类型,后面的变量中可以有一个或多个表示该同类型的变量。例如:
int i,j,k=0;  //表示定义了3个×××变量
char c;     //定义了一个字符型c

当然,一个声明语句中多个变量可拆开来写,如上面的声明等价于

int i=0;
int j=0;
int k=0;
char c;

任何变量的声明都可以使用const限定符限定。限定后值不能被修改,例如:
#include <stdio.h>
int main()
{
 const int num=20;
 num=num+2;
printf("%d ",num);
return 0;
}
错误:l-value specifies const object
#include <stdio.h>
int main()
{
 volatile const int num=20;
 int *p=&num;
 *p=10;
printf("%d ",num);
return 0;
}

结果:10

volatile防止编译器对代码进行优化,提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。