一,问题的引入:
在通常为了增加程序的可读性和便于程序的修改我们通过定义常量来达到这个目的。常见的常量的定义的方法有两种:
1、宏定义; #define MAX_LENGTH 1000;
2、定义一个只读变量 const int MAX_LENGTH = 1000;
int const MAX_LENGTH = 1000;
今天主要来讲定义的只读变量 const
二,用const来修饰变量
修饰的格式是 const int MAX_LENGTH = 1000;或者是 int const MAX_LENGTH = 1000;这两种的定义是完全相同的。
要注意的问题:
1,在初始化的时候就要对只读常量进行初始化。
2,在程序中不能对只读变量进行赋值操作。
用const来修饰指针:
const int *p 和 int *const p 的区别:
1,一个被const 修饰的只读变量的地址只能付给 const int *p的指针,但是一个const int *p的指针p能够被任意一个整形变量的地址赋值。
2,const int *p 。const修饰的是(*p),所以P能够被赋值,但是*P不能被赋值。
int *const P const修饰的是p,所以(*p)能被赋值。