const 数据类型 变量名 = 常数值
- 常量一旦被定义和初始化就不能在程序中被改变。
- 建议用const取代#define定义常量
#define PI 3.14159
两者定义的常量不同,const常量具有数据类型,占用存储单元,可有编译器进行类型检查,但不能被修改,而宏常量是在预编译时进行字符置换,把程序中出现的PI都替换为3.14159,PI不是变量,不具有数据类型,在置换时容易出错。 - const与指针
-
指向常量的指针
int u = 3; const int* p = &u;
可以保存变量或者常量的地址,并且限制指针的访问方式为只读,即 不能通过指针修改所指对象的值,但是可以改变指针的方向。
- 常量型指针
int u = 20; int* const p1 = &u;
常量型指针定义时必须进行初始化,然后指针的值不再改变,但是如果常量型指针所指的是变量,则可以通过该指针修改所指变量的值
- 指向常量的常量型指针
const int* const p1 = &u;
此时指针的值和所指的对象值都不能改变。
-